Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

media: Kconfig files: use select for V4L2 subdevs and MC

There are lots of drivers that only work when the media controller
and/or the V4L2 subdev APIs are present.

Right now, someone need to first enable those APIs before
using those drivers.

Well, ideally, drivers, should, instead *optionally*
depend on it, in order for PC camera drivers to be able to use
them, but nowadays most drivers are UVC cameras, with don't
require a sensor driver.

So, be it.

Let's instead make them select the MEDIA_CONTROLLER and the
SUBDEV API, in order to make easier for people to be able
of enabling them.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

+237 -106
+148 -62
drivers/media/i2c/Kconfig
··· 19 19 In doubt, say Y. 20 20 21 21 # 22 - # Encoder / Decoder module configuration 22 + # V4L2 I2C drivers that aren't related with Camera support 23 23 # 24 24 25 25 comment "I2C drivers hidden by 'Autoselect ancillary drivers'" ··· 27 27 28 28 menu "I2C Encoders, decoders, sensors and other helper chips" 29 29 visible if !MEDIA_HIDE_ANCILLARY_SUBDRV 30 + 31 + # 32 + # Encoder / Decoder module configuration 33 + # 30 34 31 35 comment "Audio decoders, processors and mixers" 32 36 ··· 66 62 67 63 config VIDEO_TDA1997X 68 64 tristate "NXP TDA1997x HDMI receiver" 69 - depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API 65 + depends on VIDEO_V4L2 && I2C 70 66 depends on SND_SOC 71 67 select HDMI 72 68 select SND_PCM 73 69 select V4L2_FWNODE 70 + select MEDIA_CONTROLLER 71 + select VIDEO_V4L2_SUBDEV_API 74 72 help 75 73 V4L2 subdevice driver for the NXP TDA1997x HDMI receivers. 76 74 ··· 210 204 211 205 config VIDEO_ADV7180 212 206 tristate "Analog Devices ADV7180 decoder" 213 - depends on GPIOLIB && VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API 207 + depends on GPIOLIB && VIDEO_V4L2 && I2C 208 + select MEDIA_CONTROLLER 209 + select VIDEO_V4L2_SUBDEV_API 214 210 help 215 211 Support for the Analog Devices ADV7180 video decoder. 216 212 ··· 231 223 232 224 config VIDEO_ADV748X 233 225 tristate "Analog Devices ADV748x decoder" 234 - depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API 226 + depends on VIDEO_V4L2 && I2C 235 227 depends on OF 228 + select MEDIA_CONTROLLER 229 + select VIDEO_V4L2_SUBDEV_API 236 230 select REGMAP_I2C 237 231 select V4L2_FWNODE 238 232 help ··· 246 236 247 237 config VIDEO_ADV7604 248 238 tristate "Analog Devices ADV7604 decoder" 249 - depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API 239 + depends on VIDEO_V4L2 && I2C 250 240 depends on GPIOLIB || COMPILE_TEST 241 + select MEDIA_CONTROLLER 242 + select VIDEO_V4L2_SUBDEV_API 251 243 select REGMAP_I2C 252 244 select HDMI 253 245 select V4L2_FWNODE ··· 272 260 273 261 config VIDEO_ADV7842 274 262 tristate "Analog Devices ADV7842 decoder" 275 - depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API 263 + depends on VIDEO_V4L2 && I2C 264 + select MEDIA_CONTROLLER 265 + select VIDEO_V4L2_SUBDEV_API 276 266 select HDMI 277 267 help 278 268 Support for the Analog Devices ADV7842 video decoder. ··· 361 347 362 348 config VIDEO_TC358743 363 349 tristate "Toshiba TC358743 decoder" 364 - depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API 350 + depends on VIDEO_V4L2 && I2C 351 + select MEDIA_CONTROLLER 352 + select VIDEO_V4L2_SUBDEV_API 365 353 select HDMI 366 354 select V4L2_FWNODE 367 355 help ··· 531 515 532 516 config VIDEO_ADV7511 533 517 tristate "Analog Devices ADV7511 encoder" 534 - depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API 518 + depends on VIDEO_V4L2 && I2C 535 519 depends on DRM_I2C_ADV7511=n || COMPILE_TEST 520 + select MEDIA_CONTROLLER 521 + select VIDEO_V4L2_SUBDEV_API 536 522 select HDMI 537 523 help 538 524 Support for the Analog Devices ADV7511 video encoder. ··· 554 536 555 537 config VIDEO_AD9389B 556 538 tristate "Analog Devices AD9389B encoder" 557 - depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API 539 + depends on VIDEO_V4L2 && I2C 540 + select MEDIA_CONTROLLER 541 + select VIDEO_V4L2_SUBDEV_API 542 + 558 543 help 559 544 Support for the Analog Devices AD9389B video encoder. 560 545 ··· 589 568 config VIDEO_SMIAPP_PLL 590 569 tristate 591 570 571 + # 572 + # All drivers that are related to Media Camera Support should be here 573 + # 574 + 592 575 if MEDIA_CAMERA_SUPPORT 593 576 594 577 config VIDEO_HI556 595 578 tristate "Hynix Hi-556 sensor support" 596 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 597 - depends on MEDIA_CONTROLLER 579 + depends on I2C && VIDEO_V4L2 580 + select MEDIA_CONTROLLER 581 + select VIDEO_V4L2_SUBDEV_API 598 582 select V4L2_FWNODE 599 583 help 600 584 This is a Video4Linux2 sensor driver for the Hynix ··· 610 584 611 585 config VIDEO_IMX214 612 586 tristate "Sony IMX214 sensor support" 613 - depends on GPIOLIB && I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 587 + depends on GPIOLIB && I2C && VIDEO_V4L2 614 588 depends on V4L2_FWNODE 589 + select MEDIA_CONTROLLER 590 + select VIDEO_V4L2_SUBDEV_API 615 591 select REGMAP_I2C 616 592 help 617 593 This is a Video4Linux2 sensor driver for the Sony ··· 624 596 625 597 config VIDEO_IMX219 626 598 tristate "Sony IMX219 sensor support" 627 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 599 + depends on I2C && VIDEO_V4L2 600 + select MEDIA_CONTROLLER 601 + select VIDEO_V4L2_SUBDEV_API 628 602 select V4L2_FWNODE 629 603 help 630 604 This is a Video4Linux2 sensor driver for the Sony ··· 637 607 638 608 config VIDEO_IMX258 639 609 tristate "Sony IMX258 sensor support" 640 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 610 + depends on I2C && VIDEO_V4L2 611 + select MEDIA_CONTROLLER 612 + select VIDEO_V4L2_SUBDEV_API 641 613 help 642 614 This is a Video4Linux2 sensor driver for the Sony 643 615 IMX258 camera. ··· 649 617 650 618 config VIDEO_IMX274 651 619 tristate "Sony IMX274 sensor support" 652 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 620 + depends on I2C && VIDEO_V4L2 621 + select MEDIA_CONTROLLER 622 + select VIDEO_V4L2_SUBDEV_API 653 623 select REGMAP_I2C 654 624 help 655 625 This is a V4L2 sensor driver for the Sony IMX274 ··· 659 625 660 626 config VIDEO_IMX290 661 627 tristate "Sony IMX290 sensor support" 662 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 628 + depends on I2C && VIDEO_V4L2 629 + select MEDIA_CONTROLLER 630 + select VIDEO_V4L2_SUBDEV_API 663 631 select REGMAP_I2C 664 632 select V4L2_FWNODE 665 633 help ··· 673 637 674 638 config VIDEO_IMX319 675 639 tristate "Sony IMX319 sensor support" 676 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 640 + depends on I2C && VIDEO_V4L2 641 + select MEDIA_CONTROLLER 642 + select VIDEO_V4L2_SUBDEV_API 677 643 help 678 644 This is a Video4Linux2 sensor driver for the Sony 679 645 IMX319 camera. ··· 685 647 686 648 config VIDEO_IMX355 687 649 tristate "Sony IMX355 sensor support" 688 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 650 + depends on I2C && VIDEO_V4L2 651 + select MEDIA_CONTROLLER 652 + select VIDEO_V4L2_SUBDEV_API 689 653 help 690 654 This is a Video4Linux2 sensor driver for the Sony 691 655 IMX355 camera. ··· 718 678 719 679 config VIDEO_OV2680 720 680 tristate "OmniVision OV2680 sensor support" 721 - depends on VIDEO_V4L2 && I2C && MEDIA_CONTROLLER 681 + depends on VIDEO_V4L2 && I2C 682 + select MEDIA_CONTROLLER 722 683 select V4L2_FWNODE 723 684 help 724 685 This is a Video4Linux2 sensor driver for the OmniVision ··· 730 689 731 690 config VIDEO_OV2685 732 691 tristate "OmniVision OV2685 sensor support" 733 - depends on VIDEO_V4L2 && I2C && MEDIA_CONTROLLER 692 + depends on VIDEO_V4L2 && I2C 693 + select MEDIA_CONTROLLER 734 694 select V4L2_FWNODE 735 695 help 736 696 This is a Video4Linux2 sensor driver for the OmniVision ··· 743 701 config VIDEO_OV5640 744 702 tristate "OmniVision OV5640 sensor support" 745 703 depends on OF 746 - depends on GPIOLIB && VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API 704 + depends on GPIOLIB && VIDEO_V4L2 && I2C 705 + select MEDIA_CONTROLLER 706 + select VIDEO_V4L2_SUBDEV_API 747 707 select V4L2_FWNODE 748 708 help 749 709 This is a Video4Linux2 sensor driver for the Omnivision ··· 754 710 config VIDEO_OV5645 755 711 tristate "OmniVision OV5645 sensor support" 756 712 depends on OF 757 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 713 + depends on I2C && VIDEO_V4L2 714 + select MEDIA_CONTROLLER 715 + select VIDEO_V4L2_SUBDEV_API 758 716 select V4L2_FWNODE 759 717 help 760 718 This is a Video4Linux2 sensor driver for the OmniVision ··· 767 721 768 722 config VIDEO_OV5647 769 723 tristate "OmniVision OV5647 sensor support" 770 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 724 + depends on I2C && VIDEO_V4L2 725 + select MEDIA_CONTROLLER 726 + select VIDEO_V4L2_SUBDEV_API 771 727 select V4L2_FWNODE 772 728 help 773 729 This is a Video4Linux2 sensor driver for the OmniVision ··· 790 742 791 743 config VIDEO_OV5670 792 744 tristate "OmniVision OV5670 sensor support" 793 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 794 - depends on MEDIA_CONTROLLER 745 + depends on I2C && VIDEO_V4L2 746 + select MEDIA_CONTROLLER 747 + select VIDEO_V4L2_SUBDEV_API 795 748 select V4L2_FWNODE 796 749 help 797 750 This is a Video4Linux2 sensor driver for the OmniVision ··· 803 754 804 755 config VIDEO_OV5675 805 756 tristate "OmniVision OV5675 sensor support" 806 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 807 - depends on MEDIA_CONTROLLER 757 + depends on I2C && VIDEO_V4L2 758 + select MEDIA_CONTROLLER 759 + select VIDEO_V4L2_SUBDEV_API 808 760 select V4L2_FWNODE 809 761 help 810 762 This is a Video4Linux2 sensor driver for the OmniVision ··· 827 777 828 778 config VIDEO_OV7251 829 779 tristate "OmniVision OV7251 sensor support" 830 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 780 + depends on I2C && VIDEO_V4L2 781 + select MEDIA_CONTROLLER 782 + select VIDEO_V4L2_SUBDEV_API 831 783 select V4L2_FWNODE 832 784 help 833 785 This is a Video4Linux2 sensor driver for the OmniVision ··· 878 826 879 827 config VIDEO_OV8856 880 828 tristate "OmniVision OV8856 sensor support" 881 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 829 + depends on I2C && VIDEO_V4L2 830 + select MEDIA_CONTROLLER 831 + select VIDEO_V4L2_SUBDEV_API 882 832 select V4L2_FWNODE 883 833 help 884 834 This is a Video4Linux2 sensor driver for the OmniVision ··· 898 844 899 845 config VIDEO_OV9650 900 846 tristate "OmniVision OV9650/OV9652 sensor support" 901 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 847 + depends on I2C && VIDEO_V4L2 848 + select MEDIA_CONTROLLER 849 + select VIDEO_V4L2_SUBDEV_API 902 850 select REGMAP_SCCB 903 851 help 904 852 This is a V4L2 sensor driver for the Omnivision ··· 908 852 909 853 config VIDEO_OV13858 910 854 tristate "OmniVision OV13858 sensor support" 911 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 855 + depends on I2C && VIDEO_V4L2 856 + select MEDIA_CONTROLLER 857 + select VIDEO_V4L2_SUBDEV_API 912 858 select V4L2_FWNODE 913 859 help 914 860 This is a Video4Linux2 sensor driver for the OmniVision ··· 928 870 929 871 config VIDEO_MT9M001 930 872 tristate "mt9m001 support" 931 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 873 + depends on I2C && VIDEO_V4L2 874 + select MEDIA_CONTROLLER 875 + select VIDEO_V4L2_SUBDEV_API 932 876 help 933 877 This driver supports MT9M001 cameras from Micron, monochrome 934 878 and colour models. 935 879 936 880 config VIDEO_MT9M032 937 881 tristate "MT9M032 camera sensor support" 938 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 882 + depends on I2C && VIDEO_V4L2 883 + select MEDIA_CONTROLLER 884 + select VIDEO_V4L2_SUBDEV_API 939 885 select VIDEO_APTINA_PLL 940 886 help 941 887 This driver supports MT9M032 camera sensors from Aptina, monochrome ··· 955 893 956 894 config VIDEO_MT9P031 957 895 tristate "Aptina MT9P031 support" 958 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 896 + depends on I2C && VIDEO_V4L2 897 + select MEDIA_CONTROLLER 898 + select VIDEO_V4L2_SUBDEV_API 959 899 select VIDEO_APTINA_PLL 960 900 help 961 901 This is a Video4Linux2 sensor driver for the Aptina ··· 965 901 966 902 config VIDEO_MT9T001 967 903 tristate "Aptina MT9T001 support" 968 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 904 + depends on I2C && VIDEO_V4L2 905 + select MEDIA_CONTROLLER 906 + select VIDEO_V4L2_SUBDEV_API 969 907 help 970 908 This is a Video4Linux2 sensor driver for the Aptina 971 909 (Micron) mt0t001 3 Mpixel camera. ··· 992 926 993 927 config VIDEO_MT9V032 994 928 tristate "Micron MT9V032 sensor support" 995 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 929 + depends on I2C && VIDEO_V4L2 930 + select MEDIA_CONTROLLER 931 + select VIDEO_V4L2_SUBDEV_API 996 932 select REGMAP_I2C 997 933 select V4L2_FWNODE 998 934 help ··· 1019 951 1020 952 config VIDEO_NOON010PC30 1021 953 tristate "Siliconfile NOON010PC30 sensor support" 1022 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 954 + depends on I2C && VIDEO_V4L2 955 + select MEDIA_CONTROLLER 956 + select VIDEO_V4L2_SUBDEV_API 1023 957 help 1024 958 This driver supports NOON010PC30 CIF camera from Siliconfile 1025 959 ··· 1039 969 1040 970 config VIDEO_S5K6AA 1041 971 tristate "Samsung S5K6AAFX sensor support" 1042 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 972 + depends on I2C && VIDEO_V4L2 973 + select MEDIA_CONTROLLER 974 + select VIDEO_V4L2_SUBDEV_API 1043 975 help 1044 976 This is a V4L2 sensor driver for Samsung S5K6AA(FX) 1.3M 1045 977 camera sensor with an embedded SoC image signal processor. 1046 978 1047 979 config VIDEO_S5K6A3 1048 980 tristate "Samsung S5K6A3 sensor support" 1049 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 981 + depends on I2C && VIDEO_V4L2 982 + select MEDIA_CONTROLLER 983 + select VIDEO_V4L2_SUBDEV_API 1050 984 help 1051 985 This is a V4L2 sensor driver for Samsung S5K6A3 raw 1052 986 camera sensor. 1053 987 1054 988 config VIDEO_S5K4ECGX 1055 989 tristate "Samsung S5K4ECGX sensor support" 1056 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 990 + depends on I2C && VIDEO_V4L2 991 + select MEDIA_CONTROLLER 992 + select VIDEO_V4L2_SUBDEV_API 1057 993 select CRC32 1058 994 help 1059 995 This is a V4L2 sensor driver for Samsung S5K4ECGX 5M ··· 1067 991 1068 992 config VIDEO_S5K5BAF 1069 993 tristate "Samsung S5K5BAF sensor support" 1070 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 994 + depends on I2C && VIDEO_V4L2 995 + select MEDIA_CONTROLLER 996 + select VIDEO_V4L2_SUBDEV_API 1071 997 select V4L2_FWNODE 1072 998 help 1073 999 This is a V4L2 sensor driver for Samsung S5K5BAF 2M ··· 1080 1002 1081 1003 config VIDEO_S5C73M3 1082 1004 tristate "Samsung S5C73M3 sensor support" 1083 - depends on I2C && SPI && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 1005 + depends on I2C && SPI && VIDEO_V4L2 1006 + select MEDIA_CONTROLLER 1007 + select VIDEO_V4L2_SUBDEV_API 1084 1008 select V4L2_FWNODE 1085 1009 help 1086 1010 This is a V4L2 sensor driver for Samsung S5C73M3 1087 1011 8 Mpixel camera. 1088 - endif 1089 1012 1090 1013 comment "Lens drivers" 1091 1014 1092 - if MEDIA_CAMERA_SUPPORT 1093 - 1094 1015 config VIDEO_AD5820 1095 1016 tristate "AD5820 lens voice coil support" 1096 - depends on GPIOLIB && I2C && VIDEO_V4L2 && MEDIA_CONTROLLER 1017 + depends on GPIOLIB && I2C && VIDEO_V4L2 1018 + select MEDIA_CONTROLLER 1097 1019 help 1098 1020 This is a driver for the AD5820 camera lens voice coil. 1099 1021 It is used for example in Nokia N900 (RX-51). 1100 1022 1101 1023 config VIDEO_AK7375 1102 1024 tristate "AK7375 lens voice coil support" 1103 - depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER 1104 - depends on VIDEO_V4L2_SUBDEV_API 1025 + depends on I2C && VIDEO_V4L2 1026 + select MEDIA_CONTROLLER 1027 + select VIDEO_V4L2_SUBDEV_API 1105 1028 help 1106 1029 This is a driver for the AK7375 camera lens voice coil. 1107 1030 AK7375 is a 12 bit DAC with 120mA output current sink ··· 1111 1032 1112 1033 config VIDEO_DW9714 1113 1034 tristate "DW9714 lens voice coil support" 1114 - depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER 1115 - depends on VIDEO_V4L2_SUBDEV_API 1035 + depends on I2C && VIDEO_V4L2 1036 + select MEDIA_CONTROLLER 1037 + select VIDEO_V4L2_SUBDEV_API 1116 1038 help 1117 1039 This is a driver for the DW9714 camera lens voice coil. 1118 1040 DW9714 is a 10 bit DAC with 120mA output current sink ··· 1122 1042 1123 1043 config VIDEO_DW9807_VCM 1124 1044 tristate "DW9807 lens voice coil support" 1125 - depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER 1126 - depends on VIDEO_V4L2_SUBDEV_API 1045 + depends on I2C && VIDEO_V4L2 1046 + select MEDIA_CONTROLLER 1047 + select VIDEO_V4L2_SUBDEV_API 1127 1048 help 1128 1049 This is a driver for the DW9807 camera lens voice coil. 1129 1050 DW9807 is a 10 bit DAC with 100mA output current sink 1130 1051 capability. This is designed for linear control of 1131 1052 voice coil motors, controlled via I2C serial interface. 1132 1053 1133 - endif 1134 1054 1135 1055 comment "Flash devices" 1136 1056 1137 - if MEDIA_CAMERA_SUPPORT 1138 - 1139 1057 config VIDEO_ADP1653 1140 1058 tristate "ADP1653 flash support" 1141 - depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER 1059 + depends on I2C && VIDEO_V4L2 1060 + select MEDIA_CONTROLLER 1142 1061 help 1143 1062 This is a driver for the ADP1653 flash controller. It is used for 1144 1063 example in Nokia N900. 1145 1064 1146 1065 config VIDEO_LM3560 1147 1066 tristate "LM3560 dual flash driver support" 1148 - depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER 1067 + depends on I2C && VIDEO_V4L2 1068 + select MEDIA_CONTROLLER 1149 1069 select REGMAP_I2C 1150 1070 help 1151 1071 This is a driver for the lm3560 dual flash controllers. It controls ··· 1153 1073 1154 1074 config VIDEO_LM3646 1155 1075 tristate "LM3646 dual flash driver support" 1156 - depends on I2C && VIDEO_V4L2 && MEDIA_CONTROLLER 1076 + depends on I2C && VIDEO_V4L2 1077 + select MEDIA_CONTROLLER 1157 1078 select REGMAP_I2C 1158 1079 help 1159 1080 This is a driver for the lm3646 dual flash controllers. It controls 1160 1081 flash, torch LEDs. 1161 1082 1162 - endif 1083 + endif # MEDIA_CAMERA_SUPPORT 1084 + 1085 + # 1086 + # Other V4L2 drivers that aren't related with Camera support 1087 + # 1163 1088 1164 1089 comment "Video improvement chips" 1165 1090 ··· 1253 1168 1254 1169 config VIDEO_ST_MIPID02 1255 1170 tristate "STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge" 1256 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 1257 - depends on MEDIA_CAMERA_SUPPORT 1171 + depends on I2C && VIDEO_V4L2 1172 + select MEDIA_CONTROLLER 1173 + select VIDEO_V4L2_SUBDEV_API 1258 1174 select V4L2_FWNODE 1259 1175 help 1260 1176 Support for STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge. ··· 1267 1181 1268 1182 endmenu 1269 1183 1270 - endif 1184 + endif # VIDEO_V4L2
+3 -1
drivers/media/i2c/et8ek8/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 2 config VIDEO_ET8EK8 3 3 tristate "ET8EK8 camera sensor support" 4 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 4 + depends on I2C && VIDEO_V4L2 5 + select MEDIA_CONTROLLER 6 + select VIDEO_V4L2_SUBDEV_API 5 7 select V4L2_FWNODE 6 8 help 7 9 This is a driver for the Toshiba ET8EK8 5 MP camera sensor.
+3 -2
drivers/media/i2c/m5mols/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 2 config VIDEO_M5MOLS 3 3 tristate "Fujitsu M-5MOLS 8MP sensor support" 4 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 5 - depends on MEDIA_CAMERA_SUPPORT 4 + depends on I2C && VIDEO_V4L2 5 + select MEDIA_CONTROLLER 6 + select VIDEO_V4L2_SUBDEV_API 6 7 help 7 8 This driver supports Fujitsu M-5MOLS camera sensor with ISP
+3 -2
drivers/media/i2c/smiapp/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 2 config VIDEO_SMIAPP 3 3 tristate "SMIA++/SMIA sensor support" 4 - depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && HAVE_CLK 5 - depends on MEDIA_CAMERA_SUPPORT 4 + depends on I2C && VIDEO_V4L2 && HAVE_CLK 5 + select MEDIA_CONTROLLER 6 + select VIDEO_V4L2_SUBDEV_API 6 7 select VIDEO_SMIAPP_PLL 7 8 select V4L2_FWNODE 8 9 help
+1 -1
drivers/media/mc/Kconfig
··· 7 7 8 8 config MEDIA_CONTROLLER 9 9 bool "Media Controller API" 10 - depends on MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT 10 + default MEDIA_CAMERA_SUPPORT || MEDIA_ANALOG_TV_SUPPORT || MEDIA_DIGITAL_TV_SUPPORT || MEDIA_PLATFORM_SUPPORT 11 11 help 12 12 Enable the media controller API used to query media devices internal 13 13 topology and configure it dynamically.
+3 -1
drivers/media/pci/cobalt/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 2 config VIDEO_COBALT 3 3 tristate "Cisco Cobalt support" 4 - depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API 4 + depends on VIDEO_V4L2 && I2C 5 5 depends on PCI_MSI && MTD_COMPLEX_MAPPINGS 6 6 depends on (GPIOLIB && DRM_I2C_ADV7511=n) || COMPILE_TEST 7 7 depends on SND 8 8 depends on MTD 9 + select MEDIA_CONTROLLER 10 + select VIDEO_V4L2_SUBDEV_API 9 11 select I2C_ALGOBIT 10 12 select SND_PCM 11 13 select VIDEO_ADV7604
+2 -2
drivers/media/pci/intel/ipu3/Kconfig
··· 2 2 config VIDEO_IPU3_CIO2 3 3 tristate "Intel ipu3-cio2 driver" 4 4 depends on VIDEO_V4L2 && PCI 5 - depends on VIDEO_V4L2_SUBDEV_API 6 5 depends on (X86 && ACPI) || COMPILE_TEST 7 - depends on MEDIA_CONTROLLER 6 + select MEDIA_CONTROLLER 7 + select VIDEO_V4L2_SUBDEV_API 8 8 select V4L2_FWNODE 9 9 select VIDEOBUF2_DMA_SG 10 10
+3 -3
drivers/media/pci/sta2x11/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 2 config STA2X11_VIP 3 3 tristate "STA2X11 VIP Video For Linux" 4 + depends on PCI && VIDEO_V4L2 && VIRT_TO_BUS && I2C 4 5 depends on STA2X11 || COMPILE_TEST 5 6 select VIDEO_ADV7180 if MEDIA_SUBDRV_AUTOSELECT 6 7 select VIDEOBUF2_DMA_CONTIG 7 - depends on PCI && VIDEO_V4L2 && VIRT_TO_BUS 8 - depends on VIDEO_V4L2_SUBDEV_API 9 - depends on I2C 8 + select MEDIA_CONTROLLER 9 + select VIDEO_V4L2_SUBDEV_API 10 10 help 11 11 Say Y for support for STA2X11 VIP (Video Input Port) capture 12 12 device.
+20 -8
drivers/media/platform/Kconfig
··· 63 63 config VIDEO_MUX 64 64 tristate "Video Multiplexer" 65 65 select MULTIPLEXER 66 - depends on VIDEO_V4L2 && OF && VIDEO_V4L2_SUBDEV_API && MEDIA_CONTROLLER 66 + depends on VIDEO_V4L2 && OF 67 + select MEDIA_CONTROLLER 68 + select VIDEO_V4L2_SUBDEV_API 67 69 select REGMAP 68 70 select V4L2_FWNODE 69 71 help ··· 73 71 74 72 config VIDEO_OMAP3 75 73 tristate "OMAP 3 Camera support" 76 - depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API 74 + depends on VIDEO_V4L2 && I2C 77 75 depends on (ARCH_OMAP3 && OMAP_IOMMU) || COMPILE_TEST 78 76 depends on COMMON_CLK && OF 79 77 select ARM_DMA_USE_IOMMU if OMAP_IOMMU 78 + select MEDIA_CONTROLLER 79 + select VIDEO_V4L2_SUBDEV_API 80 80 select VIDEOBUF2_DMA_CONTIG 81 81 select MFD_SYSCON 82 82 select V4L2_FWNODE ··· 103 99 104 100 config VIDEO_QCOM_CAMSS 105 101 tristate "Qualcomm V4L2 Camera Subsystem driver" 106 - depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 102 + depends on VIDEO_V4L2 107 103 depends on (ARCH_QCOM && IOMMU_DMA) || COMPILE_TEST 104 + select MEDIA_CONTROLLER 105 + select VIDEO_V4L2_SUBDEV_API 108 106 select VIDEOBUF2_DMA_SG 109 107 select V4L2_FWNODE 110 108 111 109 config VIDEO_S3C_CAMIF 112 110 tristate "Samsung S3C24XX/S3C64XX SoC Camera Interface driver" 113 - depends on VIDEO_V4L2 && I2C && VIDEO_V4L2_SUBDEV_API 114 - depends on PM 111 + depends on VIDEO_V4L2 && I2C && PM 115 112 depends on ARCH_S3C64XX || PLAT_S3C24XX || COMPILE_TEST 113 + select MEDIA_CONTROLLER 114 + select VIDEO_V4L2_SUBDEV_API 116 115 select VIDEOBUF2_DMA_CONTIG 117 116 help 118 117 This is a v4l2 driver for s3c24xx and s3c64xx SoC series camera ··· 126 119 127 120 config VIDEO_STM32_DCMI 128 121 tristate "STM32 Digital Camera Memory Interface (DCMI) support" 129 - depends on VIDEO_V4L2 && OF && MEDIA_CONTROLLER 122 + depends on VIDEO_V4L2 && OF 130 123 depends on ARCH_STM32 || COMPILE_TEST 131 124 select VIDEOBUF2_DMA_CONTIG 125 + select MEDIA_CONTROLLER 132 126 select V4L2_FWNODE 133 127 help 134 128 This module makes the STM32 Digital Camera Memory Interface (DCMI) ··· 156 148 157 149 config VIDEO_TI_CAL 158 150 tristate "TI CAL (Camera Adaptation Layer) driver" 159 - depends on VIDEO_DEV && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 151 + depends on VIDEO_DEV && VIDEO_V4L2 152 + select MEDIA_CONTROLLER 153 + select VIDEO_V4L2_SUBDEV_API 160 154 depends on SOC_DRA7XX || ARCH_K3 || COMPILE_TEST 161 155 select VIDEOBUF2_DMA_CONTIG 162 156 select V4L2_FWNODE ··· 442 432 443 433 config VIDEO_RENESAS_VSP1 444 434 tristate "Renesas VSP1 Video Processing Engine" 445 - depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 435 + depends on VIDEO_V4L2 446 436 depends on ARCH_RENESAS || COMPILE_TEST 447 437 depends on (!ARM64 && !VIDEO_RENESAS_FCP) || VIDEO_RENESAS_FCP 438 + select MEDIA_CONTROLLER 439 + select VIDEO_V4L2_SUBDEV_API 448 440 select VIDEOBUF2_DMA_CONTIG 449 441 select VIDEOBUF2_VMALLOC 450 442 help
+3 -1
drivers/media/platform/am437x/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 2 config VIDEO_AM437X_VPFE 3 3 tristate "TI AM437x VPFE video capture driver" 4 - depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 4 + depends on VIDEO_V4L2 5 5 depends on SOC_AM43XX || COMPILE_TEST 6 + select MEDIA_CONTROLLER 7 + select VIDEO_V4L2_SUBDEV_API 6 8 select VIDEOBUF2_DMA_CONTIG 7 9 select V4L2_FWNODE 8 10 help
+3 -1
drivers/media/platform/atmel/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 2 config VIDEO_ATMEL_ISC 3 3 tristate "ATMEL Image Sensor Controller (ISC) support" 4 - depends on VIDEO_V4L2 && COMMON_CLK && VIDEO_V4L2_SUBDEV_API 4 + depends on VIDEO_V4L2 && COMMON_CLK 5 5 depends on ARCH_AT91 || COMPILE_TEST 6 + select MEDIA_CONTROLLER 7 + select VIDEO_V4L2_SUBDEV_API 6 8 select VIDEOBUF2_DMA_CONTIG 7 9 select REGMAP_MMIO 8 10 select V4L2_FWNODE
+4 -4
drivers/media/platform/cadence/Kconfig
··· 13 13 config VIDEO_CADENCE_CSI2RX 14 14 tristate "Cadence MIPI-CSI2 RX Controller" 15 15 depends on VIDEO_V4L2 16 - depends on MEDIA_CONTROLLER 17 - depends on VIDEO_V4L2_SUBDEV_API 16 + select MEDIA_CONTROLLER 17 + select VIDEO_V4L2_SUBDEV_API 18 18 select V4L2_FWNODE 19 19 help 20 20 Support for the Cadence MIPI CSI2 Receiver controller. ··· 25 25 config VIDEO_CADENCE_CSI2TX 26 26 tristate "Cadence MIPI-CSI2 TX Controller" 27 27 depends on VIDEO_V4L2 28 - depends on MEDIA_CONTROLLER 29 - depends on VIDEO_V4L2_SUBDEV_API 28 + select MEDIA_CONTROLLER 29 + select VIDEO_V4L2_SUBDEV_API 30 30 select V4L2_FWNODE 31 31 help 32 32 Support for the Cadence MIPI CSI2 Transceiver controller.
+3 -2
drivers/media/platform/exynos4-is/Kconfig
··· 2 2 3 3 config VIDEO_SAMSUNG_EXYNOS4_IS 4 4 tristate "Samsung S5P/EXYNOS4 SoC series Camera Subsystem driver" 5 - depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 5 + depends on VIDEO_V4L2 && OF && COMMON_CLK 6 6 depends on ARCH_S5PV210 || ARCH_EXYNOS || COMPILE_TEST 7 - depends on OF && COMMON_CLK 7 + select MEDIA_CONTROLLER 8 + select VIDEO_V4L2_SUBDEV_API 8 9 select V4L2_FWNODE 9 10 help 10 11 Say Y here to enable camera host interface devices for
+6 -2
drivers/media/platform/rcar-vin/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 config VIDEO_RCAR_CSI2 3 3 tristate "R-Car MIPI CSI-2 Receiver" 4 - depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && OF 4 + depends on VIDEO_V4L2 && OF 5 5 depends on ARCH_RENESAS || COMPILE_TEST 6 + select MEDIA_CONTROLLER 7 + select VIDEO_V4L2_SUBDEV_API 6 8 select RESET_CONTROLLER 7 9 select V4L2_FWNODE 8 10 help ··· 16 14 17 15 config VIDEO_RCAR_VIN 18 16 tristate "R-Car Video Input (VIN) Driver" 19 - depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && OF && MEDIA_CONTROLLER 17 + depends on VIDEO_V4L2 && OF 20 18 depends on ARCH_RENESAS || COMPILE_TEST 19 + select MEDIA_CONTROLLER 20 + select VIDEO_V4L2_SUBDEV_API 21 21 select VIDEOBUF2_DMA_CONTIG 22 22 select V4L2_FWNODE 23 23 help
+3 -1
drivers/media/platform/sunxi/sun4i-csi/Kconfig
··· 2 2 3 3 config VIDEO_SUN4I_CSI 4 4 tristate "Allwinner A10 CMOS Sensor Interface Support" 5 - depends on VIDEO_V4L2 && COMMON_CLK && VIDEO_V4L2_SUBDEV_API && HAS_DMA 5 + depends on VIDEO_V4L2 && COMMON_CLK && HAS_DMA 6 6 depends on ARCH_SUNXI || COMPILE_TEST 7 + select MEDIA_CONTROLLER 8 + select VIDEO_V4L2_SUBDEV_API 7 9 select VIDEOBUF2_DMA_CONTIG 8 10 select V4L2_FWNODE 9 11 help
+3 -1
drivers/media/platform/sunxi/sun6i-csi/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 2 config VIDEO_SUN6I_CSI 3 3 tristate "Allwinner V3s Camera Sensor Interface driver" 4 - depends on VIDEO_V4L2 && COMMON_CLK && VIDEO_V4L2_SUBDEV_API && HAS_DMA 4 + depends on VIDEO_V4L2 && COMMON_CLK && HAS_DMA 5 5 depends on ARCH_SUNXI || COMPILE_TEST 6 + select MEDIA_CONTROLLER 7 + select VIDEO_V4L2_SUBDEV_API 6 8 select VIDEOBUF2_DMA_CONTIG 7 9 select REGMAP_MMIO 8 10 select V4L2_FWNODE
+3 -1
drivers/media/platform/xilinx/Kconfig
··· 2 2 3 3 config VIDEO_XILINX 4 4 tristate "Xilinx Video IP (EXPERIMENTAL)" 5 - depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && OF && HAS_DMA 5 + depends on VIDEO_V4L2 && OF && HAS_DMA 6 + select MEDIA_CONTROLLER 7 + select VIDEO_V4L2_SUBDEV_API 6 8 select VIDEOBUF2_DMA_CONTIG 7 9 select V4L2_FWNODE 8 10 help
+3 -1
drivers/media/spi/Kconfig
··· 9 9 10 10 config VIDEO_GS1662 11 11 tristate "Gennum Serializers video" 12 - depends on SPI && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 12 + depends on SPI && VIDEO_V4L2 13 + select MEDIA_CONTROLLER 14 + select VIDEO_V4L2_SUBDEV_API 13 15 help 14 16 Enable the GS1662 driver which serializes video streams. 15 17
+3 -1
drivers/media/test_drivers/vimc/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0-only 2 2 config VIDEO_VIMC 3 3 tristate "Virtual Media Controller Driver (VIMC)" 4 - depends on VIDEO_DEV && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 4 + depends on VIDEO_DEV && VIDEO_V4L2 5 + select MEDIA_CONTROLLER 6 + select VIDEO_V4L2_SUBDEV_API 5 7 select VIDEOBUF2_VMALLOC 6 8 select VIDEO_V4L2_TPG 7 9 help
+3 -2
drivers/staging/media/hantro/Kconfig
··· 2 2 config VIDEO_HANTRO 3 3 tristate "Hantro VPU driver" 4 4 depends on ARCH_MXC || ARCH_ROCKCHIP || COMPILE_TEST 5 - depends on VIDEO_DEV && VIDEO_V4L2 && MEDIA_CONTROLLER 6 - depends on MEDIA_CONTROLLER_REQUEST_API 5 + depends on VIDEO_DEV && VIDEO_V4L2 6 + select MEDIA_CONTROLLER 7 + select MEDIA_CONTROLLER_REQUEST_API 7 8 select VIDEOBUF2_DMA_CONTIG 8 9 select VIDEOBUF2_VMALLOC 9 10 select V4L2_MEM2MEM_DEV
+3 -2
drivers/staging/media/imx/Kconfig
··· 2 2 config VIDEO_IMX_MEDIA 3 3 tristate "i.MX5/6 V4L2 media core driver" 4 4 depends on ARCH_MXC || COMPILE_TEST 5 - depends on MEDIA_CONTROLLER && VIDEO_V4L2 && IMX_IPUV3_CORE 6 - depends on VIDEO_V4L2_SUBDEV_API 5 + depends on VIDEO_V4L2 && IMX_IPUV3_CORE 6 + select MEDIA_CONTROLLER 7 + select VIDEO_V4L2_SUBDEV_API 7 8 depends on HAS_DMA 8 9 select VIDEOBUF2_DMA_CONTIG 9 10 select V4L2_FWNODE
+2 -1
drivers/staging/media/ipu3/Kconfig
··· 2 2 config VIDEO_IPU3_IMGU 3 3 tristate "Intel ipu3-imgu driver" 4 4 depends on PCI && VIDEO_V4L2 5 - depends on MEDIA_CONTROLLER && VIDEO_V4L2_SUBDEV_API 6 5 depends on X86 6 + select MEDIA_CONTROLLER 7 + select VIDEO_V4L2_SUBDEV_API 7 8 select IOMMU_IOVA 8 9 select VIDEOBUF2_DMA_SG 9 10 help
+3 -1
drivers/staging/media/omap4iss/Kconfig
··· 2 2 3 3 config VIDEO_OMAP4 4 4 tristate "OMAP 4 Camera support" 5 - depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API && I2C 5 + depends on VIDEO_V4L2 && I2C 6 6 depends on ARCH_OMAP4 || COMPILE_TEST 7 + select MEDIA_CONTROLLER 8 + select VIDEO_V4L2_SUBDEV_API 7 9 select MFD_SYSCON 8 10 select VIDEOBUF2_DMA_CONTIG 9 11 help
+3 -1
drivers/staging/media/rkisp1/Kconfig
··· 2 2 3 3 config VIDEO_ROCKCHIP_ISP1 4 4 tristate "Rockchip Image Signal Processing v1 Unit driver" 5 - depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API 5 + depends on VIDEO_V4L2 6 6 depends on ARCH_ROCKCHIP || COMPILE_TEST 7 + select MEDIA_CONTROLLER 8 + select VIDEO_V4L2_SUBDEV_API 7 9 select VIDEOBUF2_DMA_CONTIG 8 10 select VIDEOBUF2_VMALLOC 9 11 select V4L2_FWNODE
+3 -2
drivers/staging/media/sunxi/cedrus/Kconfig
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 config VIDEO_SUNXI_CEDRUS 3 3 tristate "Allwinner Cedrus VPU driver" 4 - depends on VIDEO_DEV && VIDEO_V4L2 && MEDIA_CONTROLLER 4 + depends on VIDEO_DEV && VIDEO_V4L2 5 5 depends on HAS_DMA 6 6 depends on OF 7 - depends on MEDIA_CONTROLLER_REQUEST_API 7 + select MEDIA_CONTROLLER 8 + select MEDIA_CONTROLLER_REQUEST_API 8 9 select SUNXI_SRAM 9 10 select VIDEOBUF2_DMA_CONTIG 10 11 select V4L2_MEM2MEM_DEV