How to modify the kernel source code to support camera

Hello,
How to modify the kernel source code to support camera ?
I think I can add something about camera to device tree which can support camera ,but I don’t know the details how to modify the device tree.Please give me some tips.

Thank you very much.

Dear 2284810331,

May I know the camera spec(or interface…) you mentioned?
And please refer to below link. Thanks.
http://docs.nvidia.com/drive/nvvib_docs/index.html#page/NVIDIA%20Vibrante%20Linux%20DPX%20Development%20Guide%2Fnvmedia_nvmimg_cap.html

hello SteveNv
This is the information in the device tree about camera,And i want to chage PAL camera to SDI camera
how to modify the device tree specifically

plugin-manager {
    fragment-isl79987@0 {
        ids = "isl-*";
        override@0 {
            _overlay_ {
                 status = "okay";
            };
        };
        override@1 {
            target = <&cam_module0>;
            _overlay_ {
                 status = "okay";
                 badge = "isl79987_topleft_PSV27C";
                 position = "topleft";
                 orientation = "0";
             };
        };   
        override@2 {
            target = <&cam_module0_drivernode0>;
            _overlay_ {
                 status = "okay";
                 pcl_id = "v4l2_sensor";
                 devname = "isl79987 1-0044";
                 proc-device-tree = "/proc/device-tree/i2c@7000c400/isl79987_a@44";
             };
        };
        override@3 {
            target = <&cam_module0_drivernode1>;
            _overlay_ {
                 status = "okay";
                 pcl_id = "v4l2_focuser_stub";
             };
        };
        override@4 {
            target = <&vi_port0>;
            _overlay_ {
                 status = "okay";
             };
        };
        override@5 {
            target = <&isl79987_vi_in0>;
            _overlay_ {
                 status = "okay";
                 csi-port = <0>;
                 bus-width = <2>;
                 remote-endpoint = <&isl_isl79987_out0>;
             };
        };
        override@6 {
            target = <&tcp>;
            _overlay_ {
                 status = "okay";
                 num_csi_lanes = <2>;
                 max_pixel_rate = <160000>;
                 isp_peak_byte_per_pixel = <2>;
             };
        };
    };

};

Thank you very much

Dear 2284810331,

I have a quick question.
May I know why are you not using our supplied cameras? What’s it deficient in? Thanks.