aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/v4l2-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/v4l2-common.c')
-rw-r--r--drivers/media/video/v4l2-common.c591
1 files changed, 4 insertions, 587 deletions
diff --git a/drivers/media/video/v4l2-common.c b/drivers/media/video/v4l2-common.c
index b8ee37ded3c9..ddfd80c5618b 100644
--- a/drivers/media/video/v4l2-common.c
+++ b/drivers/media/video/v4l2-common.c
@@ -12,7 +12,7 @@
12 * as published by the Free Software Foundation; either version 12 * as published by the Free Software Foundation; either version
13 * 2 of the License, or (at your option) any later version. 13 * 2 of the License, or (at your option) any later version.
14 * 14 *
15 * Author: Bill Dirks <bdirks@pacbell.net> 15 * Author: Bill Dirks <bill@thedirks.org>
16 * based on code by Alan Cox, <alan@cymru.net> 16 * based on code by Alan Cox, <alan@cymru.net>
17 * 17 *
18 */ 18 */
@@ -271,11 +271,6 @@ char *v4l2_type_names[] = {
271 [V4L2_BUF_TYPE_SLICED_VBI_OUTPUT] = "slicec-vbi-out", 271 [V4L2_BUF_TYPE_SLICED_VBI_OUTPUT] = "slicec-vbi-out",
272}; 272};
273 273
274static char *v4l2_memory_names[] = {
275 [V4L2_MEMORY_MMAP] = "mmap",
276 [V4L2_MEMORY_USERPTR] = "userptr",
277 [V4L2_MEMORY_OVERLAY] = "overlay",
278};
279 274
280#define prt_names(a,arr) (((a)>=0)&&((a)<ARRAY_SIZE(arr)))?arr[a]:"unknown" 275#define prt_names(a,arr) (((a)>=0)&&((a)<ARRAY_SIZE(arr)))?arr[a]:"unknown"
281 276
@@ -400,9 +395,10 @@ static const char *v4l2_int_ioctls[] = {
400 [_IOC_NR(TUNER_SET_STANDBY)] = "TUNER_SET_STANDBY", 395 [_IOC_NR(TUNER_SET_STANDBY)] = "TUNER_SET_STANDBY",
401 [_IOC_NR(TDA9887_SET_CONFIG)] = "TDA9887_SET_CONFIG", 396 [_IOC_NR(TDA9887_SET_CONFIG)] = "TDA9887_SET_CONFIG",
402 397
398 [_IOC_NR(VIDIOC_DBG_S_REGISTER)] = "VIDIOC_DBG_S_REGISTER",
399 [_IOC_NR(VIDIOC_DBG_G_REGISTER)] = "VIDIOC_DBG_G_REGISTER",
400
403 [_IOC_NR(VIDIOC_INT_S_TUNER_MODE)] = "VIDIOC_INT_S_TUNER_MODE", 401 [_IOC_NR(VIDIOC_INT_S_TUNER_MODE)] = "VIDIOC_INT_S_TUNER_MODE",
404 [_IOC_NR(VIDIOC_INT_S_REGISTER)] = "VIDIOC_INT_S_REGISTER",
405 [_IOC_NR(VIDIOC_INT_G_REGISTER)] = "VIDIOC_INT_G_REGISTER",
406 [_IOC_NR(VIDIOC_INT_RESET)] = "VIDIOC_INT_RESET", 402 [_IOC_NR(VIDIOC_INT_RESET)] = "VIDIOC_INT_RESET",
407 [_IOC_NR(VIDIOC_INT_AUDIO_CLOCK_FREQ)] = "VIDIOC_INT_AUDIO_CLOCK_FREQ", 403 [_IOC_NR(VIDIOC_INT_AUDIO_CLOCK_FREQ)] = "VIDIOC_INT_AUDIO_CLOCK_FREQ",
408 [_IOC_NR(VIDIOC_INT_DECODE_VBI_LINE)] = "VIDIOC_INT_DECODE_VBI_LINE", 404 [_IOC_NR(VIDIOC_INT_DECODE_VBI_LINE)] = "VIDIOC_INT_DECODE_VBI_LINE",
@@ -419,14 +415,6 @@ static const char *v4l2_int_ioctls[] = {
419}; 415};
420#define V4L2_INT_IOCTLS ARRAY_SIZE(v4l2_int_ioctls) 416#define V4L2_INT_IOCTLS ARRAY_SIZE(v4l2_int_ioctls)
421 417
422static void v4l_print_pix_fmt (char *s, struct v4l2_pix_format *fmt)
423{
424 printk ("%s: width=%d, height=%d, format=%d, field=%s, "
425 "bytesperline=%d sizeimage=%d, colorspace=%d\n", s,
426 fmt->width,fmt->height,fmt->pixelformat,
427 prt_names(fmt->field,v4l2_field_names),
428 fmt->bytesperline,fmt->sizeimage,fmt->colorspace);
429};
430 418
431/* Common ioctl debug function. This function can be used by 419/* Common ioctl debug function. This function can be used by
432 external ioctl messages as well as internal V4L ioctl */ 420 external ioctl messages as well as internal V4L ioctl */
@@ -466,576 +454,6 @@ void v4l_printk_ioctl(unsigned int cmd)
466 } 454 }
467} 455}
468 456
469/* Common ioctl debug function. This function can be used by
470 external ioctl messages as well as internal V4L ioctl and its
471 arguments */
472void v4l_printk_ioctl_arg(char *s,unsigned int cmd, void *arg)
473{
474 printk(s);
475 printk(": ");
476 v4l_printk_ioctl(cmd);
477 switch (cmd) {
478 case VIDIOC_INT_G_CHIP_IDENT:
479 {
480 enum v4l2_chip_ident *p=arg;
481 printk ("%s: chip ident=%d\n", s, *p);
482 break;
483 }
484 case VIDIOC_G_PRIORITY:
485 case VIDIOC_S_PRIORITY:
486 {
487 enum v4l2_priority *p=arg;
488 printk ("%s: priority=%d\n", s, *p);
489 break;
490 }
491 case VIDIOC_INT_S_TUNER_MODE:
492 {
493 enum v4l2_tuner_type *p=arg;
494 printk ("%s: tuner type=%d\n", s, *p);
495 break;
496 }
497#ifdef CONFIG_VIDEO_V4L1_COMPAT
498 case DECODER_SET_VBI_BYPASS:
499 case DECODER_ENABLE_OUTPUT:
500 case DECODER_GET_STATUS:
501 case DECODER_SET_OUTPUT:
502 case DECODER_SET_INPUT:
503 case DECODER_SET_GPIO:
504 case DECODER_SET_NORM:
505 case VIDIOCCAPTURE:
506 case VIDIOCSYNC:
507 case VIDIOCSWRITEMODE:
508#endif
509 case TUNER_SET_TYPE_ADDR:
510 case TUNER_SET_STANDBY:
511 case TDA9887_SET_CONFIG:
512#ifdef __OLD_VIDIOC_
513 case VIDIOC_OVERLAY_OLD:
514#endif
515 case VIDIOC_STREAMOFF:
516 case VIDIOC_G_OUTPUT:
517 case VIDIOC_S_OUTPUT:
518 case VIDIOC_STREAMON:
519 case VIDIOC_G_INPUT:
520 case VIDIOC_OVERLAY:
521 case VIDIOC_S_INPUT:
522 {
523 int *p=arg;
524 printk ("%s: value=%d\n", s, *p);
525 break;
526 }
527 case VIDIOC_G_AUDIO:
528 case VIDIOC_S_AUDIO:
529 case VIDIOC_ENUMAUDIO:
530#ifdef __OLD_VIDIOC_
531 case VIDIOC_G_AUDIO_OLD:
532#endif
533 {
534 struct v4l2_audio *p=arg;
535
536 printk ("%s: index=%d, name=%s, capability=%d, mode=%d\n",
537 s,p->index, p->name,p->capability, p->mode);
538 break;
539 }
540 case VIDIOC_G_AUDOUT:
541 case VIDIOC_S_AUDOUT:
542 case VIDIOC_ENUMAUDOUT:
543#ifdef __OLD_VIDIOC_
544 case VIDIOC_G_AUDOUT_OLD:
545#endif
546 {
547 struct v4l2_audioout *p=arg;
548 printk ("%s: index=%d, name=%s, capability=%d, mode=%d\n", s,
549 p->index, p->name, p->capability,p->mode);
550 break;
551 }
552 case VIDIOC_QBUF:
553 case VIDIOC_DQBUF:
554 case VIDIOC_QUERYBUF:
555 {
556 struct v4l2_buffer *p=arg;
557 struct v4l2_timecode *tc=&p->timecode;
558 printk ("%s: %02ld:%02d:%02d.%08ld index=%d, type=%s, "
559 "bytesused=%d, flags=0x%08x, "
560 "field=%0d, sequence=%d, memory=%s, offset/userptr=0x%08lx\n",
561 s,
562 (p->timestamp.tv_sec/3600),
563 (int)(p->timestamp.tv_sec/60)%60,
564 (int)(p->timestamp.tv_sec%60),
565 p->timestamp.tv_usec,
566 p->index,
567 prt_names(p->type,v4l2_type_names),
568 p->bytesused,p->flags,
569 p->field,p->sequence,
570 prt_names(p->memory,v4l2_memory_names),
571 p->m.userptr);
572 printk ("%s: timecode= %02d:%02d:%02d type=%d, "
573 "flags=0x%08x, frames=%d, userbits=0x%08x\n",
574 s,tc->hours,tc->minutes,tc->seconds,
575 tc->type, tc->flags, tc->frames, *(__u32 *) tc->userbits);
576 break;
577 }
578 case VIDIOC_QUERYCAP:
579 {
580 struct v4l2_capability *p=arg;
581 printk ("%s: driver=%s, card=%s, bus=%s, version=0x%08x, "
582 "capabilities=0x%08x\n", s,
583 p->driver,p->card,p->bus_info,
584 p->version,
585 p->capabilities);
586 break;
587 }
588 case VIDIOC_G_CTRL:
589 case VIDIOC_S_CTRL:
590#ifdef __OLD_VIDIOC_
591 case VIDIOC_S_CTRL_OLD:
592#endif
593 {
594 struct v4l2_control *p=arg;
595 printk ("%s: id=%d, value=%d\n", s, p->id, p->value);
596 break;
597 }
598 case VIDIOC_G_EXT_CTRLS:
599 case VIDIOC_S_EXT_CTRLS:
600 case VIDIOC_TRY_EXT_CTRLS:
601 {
602 struct v4l2_ext_controls *p = arg;
603 int i;
604
605 printk("%s: ctrl_class=%d, count=%d\n", s, p->ctrl_class, p->count);
606 for (i = 0; i < p->count; i++) {
607 struct v4l2_ext_control *c = &p->controls[i];
608 if (cmd == VIDIOC_G_EXT_CTRLS)
609 printk("%s: id=%d\n", s, c->id);
610 else
611 printk("%s: id=%d, value=%d\n", s, c->id, c->value);
612 }
613 break;
614 }
615 case VIDIOC_G_CROP:
616 case VIDIOC_S_CROP:
617 {
618 struct v4l2_crop *p=arg;
619 /*FIXME: Should also show rect structs */
620 printk ("%s: type=%d\n", s, p->type);
621 break;
622 }
623 case VIDIOC_CROPCAP:
624#ifdef __OLD_VIDIOC_
625 case VIDIOC_CROPCAP_OLD:
626#endif
627 {
628 struct v4l2_cropcap *p=arg;
629 /*FIXME: Should also show rect structs */
630 printk ("%s: type=%d\n", s, p->type);
631 break;
632 }
633 case VIDIOC_INT_DECODE_VBI_LINE:
634 {
635 struct v4l2_decode_vbi_line *p=arg;
636 printk ("%s: is_second_field=%d, ptr=0x%08lx, line=%d, "
637 "type=%d\n", s,
638 p->is_second_field,(unsigned long)p->p,p->line,p->type);
639 break;
640 }
641 case VIDIOC_ENUM_FMT:
642 {
643 struct v4l2_fmtdesc *p=arg;
644 printk ("%s: index=%d, type=%d, flags=%d, description=%s,"
645 " pixelformat=%d\n", s,
646 p->index, p->type, p->flags,p->description,
647 p->pixelformat);
648
649 break;
650 }
651 case VIDIOC_G_FMT:
652 case VIDIOC_S_FMT:
653 case VIDIOC_TRY_FMT:
654 {
655 struct v4l2_format *p=arg;
656 printk ("%s: type=%s\n", s,
657 prt_names(p->type,v4l2_type_names));
658 switch (p->type) {
659 case V4L2_BUF_TYPE_VIDEO_CAPTURE:
660 v4l_print_pix_fmt (s, &p->fmt.pix);
661 break;
662 default:
663 break;
664 }
665 }
666 case VIDIOC_G_FBUF:
667 case VIDIOC_S_FBUF:
668 {
669 struct v4l2_framebuffer *p=arg;
670 printk ("%s: capability=%d, flags=%d, base=0x%08lx\n", s,
671 p->capability,p->flags, (unsigned long)p->base);
672 v4l_print_pix_fmt (s, &p->fmt);
673 break;
674 }
675 case VIDIOC_G_FREQUENCY:
676 case VIDIOC_S_FREQUENCY:
677 {
678 struct v4l2_frequency *p=arg;
679 printk ("%s: tuner=%d, type=%d, frequency=%d\n", s,
680 p->tuner,p->type,p->frequency);
681 break;
682 }
683 case VIDIOC_ENUMINPUT:
684 {
685 struct v4l2_input *p=arg;
686 printk ("%s: index=%d, name=%s, type=%d, audioset=%d, "
687 "tuner=%d, std=%Ld, status=%d\n", s,
688 p->index,p->name,p->type,p->audioset,
689 p->tuner,
690 (unsigned long long)p->std,
691 p->status);
692 break;
693 }
694 case VIDIOC_G_JPEGCOMP:
695 case VIDIOC_S_JPEGCOMP:
696 {
697 struct v4l2_jpegcompression *p=arg;
698 printk ("%s: quality=%d, APPn=%d, APP_len=%d, COM_len=%d,"
699 " jpeg_markers=%d\n", s,
700 p->quality,p->APPn,p->APP_len,
701 p->COM_len,p->jpeg_markers);
702 break;
703 }
704 case VIDIOC_G_MODULATOR:
705 case VIDIOC_S_MODULATOR:
706 {
707 struct v4l2_modulator *p=arg;
708 printk ("%s: index=%d, name=%s, capability=%d, rangelow=%d,"
709 " rangehigh=%d, txsubchans=%d\n", s,
710 p->index, p->name,p->capability,p->rangelow,
711 p->rangehigh,p->txsubchans);
712 break;
713 }
714 case VIDIOC_G_MPEGCOMP:
715 case VIDIOC_S_MPEGCOMP:
716 {
717 struct v4l2_mpeg_compression *p=arg;
718 /*FIXME: Several fields not shown */
719 printk ("%s: ts_pid_pmt=%d, ts_pid_audio=%d, ts_pid_video=%d, "
720 "ts_pid_pcr=%d, ps_size=%d, au_sample_rate=%d, "
721 "au_pesid=%c, vi_frame_rate=%d, vi_frames_per_gop=%d, "
722 "vi_bframes_count=%d, vi_pesid=%c\n", s,
723 p->ts_pid_pmt,p->ts_pid_audio, p->ts_pid_video,
724 p->ts_pid_pcr, p->ps_size, p->au_sample_rate,
725 p->au_pesid, p->vi_frame_rate,
726 p->vi_frames_per_gop, p->vi_bframes_count,
727 p->vi_pesid);
728 break;
729 }
730 case VIDIOC_ENUMOUTPUT:
731 {
732 struct v4l2_output *p=arg;
733 printk ("%s: index=%d, name=%s,type=%d, audioset=%d, "
734 "modulator=%d, std=%Ld\n",
735 s,p->index,p->name,p->type,p->audioset,
736 p->modulator,
737 (unsigned long long)p->std);
738 break;
739 }
740 case VIDIOC_QUERYCTRL:
741 {
742 struct v4l2_queryctrl *p=arg;
743 printk ("%s: id=%d, type=%d, name=%s, min/max=%d/%d,"
744 " step=%d, default=%d, flags=0x%08x\n", s,
745 p->id,p->type,p->name,p->minimum,p->maximum,
746 p->step,p->default_value,p->flags);
747 break;
748 }
749 case VIDIOC_QUERYMENU:
750 {
751 struct v4l2_querymenu *p=arg;
752 printk ("%s: id=%d, index=%d, name=%s\n", s,
753 p->id,p->index,p->name);
754 break;
755 }
756 case VIDIOC_INT_G_REGISTER:
757 case VIDIOC_INT_S_REGISTER:
758 {
759 struct v4l2_register *p=arg;
760 printk ("%s: i2c_id=%d, reg=%lu, val=%d\n", s,
761 p->i2c_id,p->reg,p->val);
762
763 break;
764 }
765 case VIDIOC_REQBUFS:
766 {
767 struct v4l2_requestbuffers *p=arg;
768 printk ("%s: count=%d, type=%s, memory=%s\n", s,
769 p->count,
770 prt_names(p->type,v4l2_type_names),
771 prt_names(p->memory,v4l2_memory_names));
772 break;
773 }
774 case VIDIOC_INT_S_AUDIO_ROUTING:
775 case VIDIOC_INT_S_VIDEO_ROUTING:
776 case VIDIOC_INT_G_AUDIO_ROUTING:
777 case VIDIOC_INT_G_VIDEO_ROUTING:
778 {
779 struct v4l2_routing *p=arg;
780 printk ("%s: input=0x%x, output=0x%x\n", s, p->input, p->output);
781 break;
782 }
783 case VIDIOC_INT_S_CRYSTAL_FREQ:
784 {
785 struct v4l2_crystal_freq *p=arg;
786 printk ("%s: freq=%u, flags=0x%x\n", s, p->freq, p->flags);
787 break;
788 }
789 case VIDIOC_G_SLICED_VBI_CAP:
790 {
791 struct v4l2_sliced_vbi_cap *p=arg;
792 printk ("%s: service_set=%d\n", s,
793 p->service_set);
794 break;
795 }
796 case VIDIOC_INT_S_VBI_DATA:
797 case VIDIOC_INT_G_VBI_DATA:
798 {
799 struct v4l2_sliced_vbi_data *p=arg;
800 printk ("%s: id=%d, field=%d, line=%d\n", s,
801 p->id, p->field, p->line);
802 break;
803 }
804 case VIDIOC_ENUMSTD:
805 {
806 struct v4l2_standard *p=arg;
807 printk ("%s: index=%d, id=%Ld, name=%s, fps=%d/%d, "
808 "framelines=%d\n", s, p->index,
809 (unsigned long long)p->id, p->name,
810 p->frameperiod.numerator,
811 p->frameperiod.denominator,
812 p->framelines);
813
814 break;
815 }
816 case VIDIOC_G_PARM:
817 case VIDIOC_S_PARM:
818#ifdef __OLD_VIDIOC_
819 case VIDIOC_S_PARM_OLD:
820#endif
821 {
822 struct v4l2_streamparm *p=arg;
823 printk ("%s: type=%d\n", s, p->type);
824
825 break;
826 }
827 case VIDIOC_G_TUNER:
828 case VIDIOC_S_TUNER:
829 {
830 struct v4l2_tuner *p=arg;
831 printk ("%s: index=%d, name=%s, type=%d, capability=%d, "
832 "rangelow=%d, rangehigh=%d, signal=%d, afc=%d, "
833 "rxsubchans=%d, audmode=%d\n", s,
834 p->index, p->name, p->type,
835 p->capability, p->rangelow,p->rangehigh,
836 p->rxsubchans, p->audmode, p->signal,
837 p->afc);
838 break;
839 }
840#ifdef CONFIG_VIDEO_V4L1_COMPAT
841 case VIDIOCGVBIFMT:
842 case VIDIOCSVBIFMT:
843 {
844 struct vbi_format *p=arg;
845 printk ("%s: sampling_rate=%d, samples_per_line=%d, "
846 "sample_format=%d, start=%d/%d, count=%d/%d, flags=%d\n", s,
847 p->sampling_rate,p->samples_per_line,
848 p->sample_format,p->start[0],p->start[1],
849 p->count[0],p->count[1],p->flags);
850 break;
851 }
852 case VIDIOCGAUDIO:
853 case VIDIOCSAUDIO:
854 {
855 struct video_audio *p=arg;
856 printk ("%s: audio=%d, volume=%d, bass=%d, treble=%d, "
857 "flags=%d, name=%s, mode=%d, balance=%d, step=%d\n",
858 s,p->audio,p->volume,p->bass, p->treble,
859 p->flags,p->name,p->mode,p->balance,p->step);
860 break;
861 }
862 case VIDIOCGFBUF:
863 case VIDIOCSFBUF:
864 {
865 struct video_buffer *p=arg;
866 printk ("%s: base=%08lx, height=%d, width=%d, depth=%d, "
867 "bytesperline=%d\n", s,
868 (unsigned long) p->base, p->height, p->width,
869 p->depth,p->bytesperline);
870 break;
871 }
872 case VIDIOCGCAP:
873 {
874 struct video_capability *p=arg;
875 printk ("%s: name=%s, type=%d, channels=%d, audios=%d, "
876 "maxwidth=%d, maxheight=%d, minwidth=%d, minheight=%d\n",
877 s,p->name,p->type,p->channels,p->audios,
878 p->maxwidth,p->maxheight,p->minwidth,
879 p->minheight);
880
881 break;
882 }
883 case VIDIOCGCAPTURE:
884 case VIDIOCSCAPTURE:
885 {
886 struct video_capture *p=arg;
887 printk ("%s: x=%d, y=%d, width=%d, height=%d, decimation=%d,"
888 " flags=%d\n", s,
889 p->x, p->y,p->width, p->height,
890 p->decimation,p->flags);
891 break;
892 }
893 case VIDIOCGCHAN:
894 case VIDIOCSCHAN:
895 {
896 struct video_channel *p=arg;
897 printk ("%s: channel=%d, name=%s, tuners=%d, flags=%d, "
898 "type=%d, norm=%d\n", s,
899 p->channel,p->name,p->tuners,
900 p->flags,p->type,p->norm);
901
902 break;
903 }
904 case VIDIOCSMICROCODE:
905 {
906 struct video_code *p=arg;
907 printk ("%s: loadwhat=%s, datasize=%d\n", s,
908 p->loadwhat,p->datasize);
909 break;
910 }
911 case DECODER_GET_CAPABILITIES:
912 {
913 struct video_decoder_capability *p=arg;
914 printk ("%s: flags=%d, inputs=%d, outputs=%d\n", s,
915 p->flags,p->inputs,p->outputs);
916 break;
917 }
918 case DECODER_INIT:
919 {
920 struct video_decoder_init *p=arg;
921 printk ("%s: len=%c\n", s, p->len);
922 break;
923 }
924 case VIDIOCGPLAYINFO:
925 {
926 struct video_info *p=arg;
927 printk ("%s: frame_count=%d, h_size=%d, v_size=%d, "
928 "smpte_timecode=%d, picture_type=%d, "
929 "temporal_reference=%d, user_data=%s\n", s,
930 p->frame_count, p->h_size,
931 p->v_size, p->smpte_timecode,
932 p->picture_type, p->temporal_reference,
933 p->user_data);
934 break;
935 }
936 case VIDIOCKEY:
937 {
938 struct video_key *p=arg;
939 printk ("%s: key=%s, flags=%d\n", s,
940 p->key, p->flags);
941 break;
942 }
943 case VIDIOCGMBUF:
944 {
945 struct video_mbuf *p=arg;
946 printk ("%s: size=%d, frames=%d, offsets=0x%08lx\n", s,
947 p->size,
948 p->frames,
949 (unsigned long)p->offsets);
950 break;
951 }
952 case VIDIOCMCAPTURE:
953 {
954 struct video_mmap *p=arg;
955 printk ("%s: frame=%d, height=%d, width=%d, format=%d\n", s,
956 p->frame,
957 p->height, p->width,
958 p->format);
959 break;
960 }
961 case VIDIOCGPICT:
962 case VIDIOCSPICT:
963 case DECODER_SET_PICTURE:
964 {
965 struct video_picture *p=arg;
966
967 printk ("%s: brightness=%d, hue=%d, colour=%d, contrast=%d,"
968 " whiteness=%d, depth=%d, palette=%d\n", s,
969 p->brightness, p->hue, p->colour,
970 p->contrast, p->whiteness, p->depth,
971 p->palette);
972 break;
973 }
974 case VIDIOCSPLAYMODE:
975 {
976 struct video_play_mode *p=arg;
977 printk ("%s: mode=%d, p1=%d, p2=%d\n", s,
978 p->mode,p->p1,p->p2);
979 break;
980 }
981 case VIDIOCGTUNER:
982 case VIDIOCSTUNER:
983 {
984 struct video_tuner *p=arg;
985 printk ("%s: tuner=%d, name=%s, rangelow=%ld, rangehigh=%ld, "
986 "flags=%d, mode=%d, signal=%d\n", s,
987 p->tuner, p->name,p->rangelow, p->rangehigh,
988 p->flags,p->mode, p->signal);
989 break;
990 }
991 case VIDIOCGUNIT:
992 {
993 struct video_unit *p=arg;
994 printk ("%s: video=%d, vbi=%d, radio=%d, audio=%d, "
995 "teletext=%d\n", s,
996 p->video,p->vbi,p->radio,p->audio,p->teletext);
997 break;
998 }
999 case VIDIOCGWIN:
1000 case VIDIOCSWIN:
1001 {
1002 struct video_window *p=arg;
1003 printk ("%s: x=%d, y=%d, width=%d, height=%d, chromakey=%d,"
1004 " flags=%d, clipcount=%d\n", s,
1005 p->x, p->y,p->width, p->height,
1006 p->chromakey,p->flags,
1007 p->clipcount);
1008 break;
1009 }
1010 case VIDIOCGFREQ:
1011 case VIDIOCSFREQ:
1012 {
1013 unsigned long *p=arg;
1014 printk ("%s: value=%lu\n", s, *p);
1015 break;
1016 }
1017#endif
1018 case VIDIOC_INT_AUDIO_CLOCK_FREQ:
1019 case VIDIOC_INT_I2S_CLOCK_FREQ:
1020 case VIDIOC_INT_S_STANDBY:
1021 case VIDIOC_INT_RESET:
1022 {
1023 u32 *p=arg;
1024
1025 printk ("%s: value=%d\n", s, *p);
1026 break;
1027 }
1028 case VIDIOC_G_STD:
1029 case VIDIOC_S_STD:
1030 case VIDIOC_QUERYSTD:
1031 {
1032 v4l2_std_id *p=arg;
1033
1034 printk ("%s: value=%Lu\n", s, (unsigned long long)*p);
1035 break;
1036 }
1037 }
1038}
1039 457
1040/* ----------------------------------------------------------------- */ 458/* ----------------------------------------------------------------- */
1041 459
@@ -1544,7 +962,6 @@ EXPORT_SYMBOL(v4l2_prio_check);
1544EXPORT_SYMBOL(v4l2_field_names); 962EXPORT_SYMBOL(v4l2_field_names);
1545EXPORT_SYMBOL(v4l2_type_names); 963EXPORT_SYMBOL(v4l2_type_names);
1546EXPORT_SYMBOL(v4l_printk_ioctl); 964EXPORT_SYMBOL(v4l_printk_ioctl);
1547EXPORT_SYMBOL(v4l_printk_ioctl_arg);
1548 965
1549EXPORT_SYMBOL(v4l2_ctrl_next); 966EXPORT_SYMBOL(v4l2_ctrl_next);
1550EXPORT_SYMBOL(v4l2_ctrl_check); 967EXPORT_SYMBOL(v4l2_ctrl_check);