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