source: svn/newcon3bcm2_21bu/nexus/modules/cec/7552/src/nexus_cec_module.c

Last change on this file was 76, checked in by megakiss, 10 years ago

1W 대기전력을 만족시키기 위하여 POWEROFF시 튜너를 Standby 상태로 함

  • Property svn:executable set to *
File size: 4.4 KB
Line 
1/***************************************************************************
2*          (c)2007-2011 Broadcom Corporation
3*
4* This program is the proprietary software of Broadcom Corporation and/or its licensors,
5* and may only be used, duplicated, modified or distributed pursuant to the terms and
6* conditions of a separate, written license agreement executed between you and Broadcom
7* (an "Authorized License").    Except as set forth in an Authorized License, Broadcom grants
8* no license (express or implied), right to use, or waiver of any kind with respect to the
9* Software, and Broadcom expressly reserves all rights in and to the Software and all
10* intellectual property rights therein.  IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU
11* HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY
12* NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE.
13*
14* Except as expressly set forth in the Authorized License,
15*
16* 1.       This program, including its structure, sequence and organization, constitutes the valuable trade
17* secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof,
18* and to use this information only in connection with your use of Broadcom integrated circuit products.
19*
20*       2.         TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
21* AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR
22* WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
23* THE SOFTWARE.  BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES
24* OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE,
25* LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION
26* OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF
27* USE OR PERFORMANCE OF THE SOFTWARE.
28*
29* 3.       TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS
30* LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR
31* EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR
32* USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF
33* THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT
34* ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE
35* LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF
36* ANY LIMITED REMEDY.
37*
38* $brcm_Workfile: nexus_cec_module.c $
39* $brcm_Revision: 1 $
40* $brcm_Date: 12/15/11 4:28p $
41*
42* Module Description:
43*
44* Revision History:
45*
46* $brcm_Log: /nexus/modules/cec/7425/src/nexus_cec_module.c $
47*
48* 1   12/15/11 4:28p vsilyaev
49* SW7425-1140: Merge NEXUS_Cec module support into main-line
50*
51* SW7425-1140/1   12/9/11 4:42p vle
52* SW7425-1140: Add NEXUS_Cec module support
53*
54***************************************************************************/
55
56#include "nexus_cec_module.h"
57#include "nexus_base.h"
58#include "priv/nexus_core.h"
59#include "nexus_cec_init.h"
60
61BDBG_MODULE(nexus_cec);
62
63/* global module handle & data */
64NEXUS_ModuleHandle g_NEXUS_cecModule;
65NEXUS_CecModuleSettings g_NEXUS_cecModuleSettings;
66
67void NEXUS_CecModule_GetDefaultSettings(
68        NEXUS_CecModuleSettings *pSettings       /* [out] */
69        )
70{
71        BKNI_Memset(pSettings, 0, sizeof(*pSettings));
72}
73
74NEXUS_ModuleHandle NEXUS_CecModule_Init(
75        const NEXUS_CecModuleSettings *pSettings  /* NULL will use default settings */
76        )
77{
78        NEXUS_ModuleSettings moduleSettings;
79        NEXUS_Error errCode;
80
81        BDBG_ASSERT(NULL == g_NEXUS_cecModule);
82
83        if (!pSettings) {
84                NEXUS_CecModule_GetDefaultSettings(&g_NEXUS_cecModuleSettings);
85                pSettings = &g_NEXUS_cecModuleSettings;
86        }
87
88        /* init global module handle */
89        NEXUS_Module_GetDefaultSettings(&moduleSettings);
90        moduleSettings.priority = NEXUS_ModulePriority_eLow; /* cec interface a slow interface */
91        moduleSettings.dbgPrint = NEXUS_CecModule_Print;
92        moduleSettings.dbgModules = "nexus_cec";
93        g_NEXUS_cecModule = NEXUS_Module_Create("cec", &moduleSettings);
94        if ( NULL == g_NEXUS_cecModule )
95        {
96                errCode = BERR_TRACE(BERR_OS_ERROR);
97                return NULL;
98        }
99
100        if (pSettings != &g_NEXUS_cecModuleSettings) {
101                g_NEXUS_cecModuleSettings = *pSettings;
102        }
103
104        /* Success */
105        return g_NEXUS_cecModule;
106}
107
108
109void NEXUS_CecModule_Uninit(void)
110{
111        BDBG_ASSERT(NULL != g_NEXUS_cecModule);
112        NEXUS_Cec_P_Shutdown();
113        NEXUS_Module_Destroy(g_NEXUS_cecModule);
114        BKNI_Memset(&g_NEXUS_cecModuleSettings, 0, sizeof(g_NEXUS_cecModuleSettings));
115        g_NEXUS_cecModule = NULL;
116}
117
118
119
Note: See TracBrowser for help on using the repository browser.