166f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved.
266f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin*
366f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin* Redistribution and use in source and binary forms, with or without
466f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin* modification, are permitted provided that the following conditions are
566f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin* met:
666f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin*     * Redistributions of source code must retain the above copyright
766f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin*       notice, this list of conditions and the following disclaimer.
866f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin*     * Redistributions in binary form must reproduce the above
966f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin*       copyright notice, this list of conditions and the following
1066f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin*       disclaimer in the documentation and/or other materials provided
1166f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin*       with the distribution.
1266f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin*     * Neither the name of The Linux Foundation nor the names of its
1366f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin*       contributors may be used to endorse or promote products derived
1466f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin*       from this software without specific prior written permission.
1566f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin*
1666f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
1766f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
1866f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
1966f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin* ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
2066f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2166f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2266f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
2366f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin* BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
2466f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
2566f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
2666f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2766f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin*
2866f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin*/
2966f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin
3066f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin// Camera dependencies
3166f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin#include "QCamera2Factory.h"
3266f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin#include "HAL3/QCamera3VendorTags.h"
3366f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin
3466f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjinstatic hw_module_t camera_common = {
351687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .tag                    = HARDWARE_MODULE_TAG,
361687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .module_api_version     = CAMERA_MODULE_API_VERSION_2_4,
371687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .hal_api_version        = HARDWARE_HAL_API_VERSION,
381687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .id                     = CAMERA_HARDWARE_MODULE_ID,
391687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .name                   = "QCamera Module",
401687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .author                 = "Qualcomm Innovation Center Inc",
411687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .methods                = &qcamera::QCamera2Factory::mModuleMethods,
421687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .dso                    = NULL,
431687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .reserved               = {0}
4466f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin};
4566f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin
4666f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjincamera_module_t HAL_MODULE_INFO_SYM = {
471687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .common                 = camera_common,
481687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .get_number_of_cameras  = qcamera::QCamera2Factory::get_number_of_cameras,
491687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .get_camera_info        = qcamera::QCamera2Factory::get_camera_info,
501687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .set_callbacks          = qcamera::QCamera2Factory::set_callbacks,
511687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .get_vendor_tag_ops     = qcamera::QCamera3VendorTags::get_vendor_tag_ops,
521687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .open_legacy            = qcamera::QCamera2Factory::open_legacy,
531687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .set_torch_mode         = qcamera::QCamera2Factory::set_torch_mode,
541687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .init                   = NULL,
551687b440bcda598006d1950f74915f0cea3b66a3Mekala Natarajan    .reserved               = {0}
5666f9976540f830b0090ff2ca557b0364a53f2008Patrick Tjin};
57