rendered paste bodydiff --git a/arch/arm/mach-tegra/io.c b/arch/arm/mach-tegra/io.cindex 0f7fe54..85ab330 100644--- a/arch/arm/mach-tegra/io.c+++ b/arch/arm/mach-tegra/io.c@@ -34,9 +34,11 @@ #include "nvos.h" #include "mach/nvrm_linux.h" #include "ap15/arapbpm.h"+#include <linux/module.h> extern void __init tegra_nvos_kernel_init(void); NvRmDeviceHandle s_hRmGlobal = NULL;+EXPORT_SYMBOL(s_hRmGlobal); #define declare_aperture(_name, _pa, _size) \ { \diff --git a/arch/arm/mach-tegra/nvodm/nvodm_services.c b/arch/arm/mach-tegra/nvodm/nvodm_services.cindex c965cdd..c9b4809 100755--- a/arch/arm/mach-tegra/nvodm/nvodm_services.c+++ b/arch/arm/mach-tegra/nvodm/nvodm_services.c@@ -30,6 +30,7 @@ * */ +#include <linux/module.h> #include "nvodm_services.h" #include "nvrm_gpio.h" #include "nvrm_spi.h"@@ -301,6 +302,7 @@ NvOdmExternalClockConfig( NvRmClose(hRmDev); return result; }+EXPORT_SYMBOL(NvOdmExternalClockConfig); NvBool NvOdmGetStraps(NvOdmStrapGroup StrapGroup, NvU32* pStrapValue) {diff --git a/arch/arm/mach-tegra/nvrm/core/common/nvrm_transport.c b/arch/arm/mach-tegra/nvrm/core/common/nvrm_transport.cindex 6f376e7..8e42437 100644--- a/arch/arm/mach-tegra/nvrm/core/common/nvrm_transport.c+++ b/arch/arm/mach-tegra/nvrm/core/common/nvrm_transport.c@@ -48,6 +48,7 @@ #include "nvcommon.h" #include "avp.h" #include <linux/jiffies.h>+#include <linux/module.h> #define LOOPBACK_PROFILE 0 @@ -981,6 +982,7 @@ fail: return err; }+EXPORT_SYMBOL(NvRmTransportOpen); /**@@ -1050,6 +1052,7 @@ void NvRmTransportClose(NvRmTransportHandle hPort) NvOsMutexUnlock(s_TransportInfo.mutex); }+EXPORT_SYMBOL(NvRmTransportClose); /**@@ -1363,6 +1366,7 @@ NvError NvRmTransportConnect(NvRmTransportHandle hPort, NvU32 TimeoutMS) NvOsMutexUnlock(s_TransportInfo.mutex); return NvSuccess; }+EXPORT_SYMBOL(NvRmTransportConnect); /**@@ -1588,8 +1592,7 @@ NvRmTransportSendMsg( return err; }--+EXPORT_SYMBOL(NvRmTransportSendMsg); /** * Receive the message from the other end port.@@ -1668,6 +1671,7 @@ NvRmTransportRecvMsg( return NvSuccess; }+EXPORT_SYMBOL(NvRmTransportRecvMsg); void NvRmTransportGetPortName( @@ -1688,3 +1692,4 @@ NvRmTransportGetPortName( NvOsStrncpy((char *)PortName, hPort->PortName, PortNameSize); }+EXPORT_SYMBOL(NvRmTransportGetPortName);diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.cindex 8892161..b1ce080 100644--- a/scripts/mod/modpost.c+++ b/scripts/mod/modpost.c@@ -1773,6 +1773,23 @@ static int add_versions(struct buffer *b, struct module *mod) for (s = mod->unres; s; s = s->next) { if (!s->module) continue;+ if(strcmp(s->name, "usbnet_skb_return")==0) {+ s->crc=0x6C6B733C;+ } else if(strcmp(s->name, "usbnet_generic_cdc_bind")==0) {+ s->crc=0x2CF9D761;+ } else if(strcmp(s->name, "usbnet_cdc_unbind")==0) {+ s->crc=0x2B474795;+ } else if(strcmp(s->name, "NvOsSemaphoreCreate")==0) {+ s->crc=0xBD2A7DC;+ } else if(strcmp(s->name, "NvOsThreadCreate")==0) {+ s->crc=0xCF1B91C6;+ } else if(strcmp(s->name, "NvRmMemMap")==0) {+ s->crc=0x4D172067;+ } else if(strcmp(s->name, "NvRmMemHandleCreate")==0) {+ s->crc=0x8C74C700;+ } else if(strcmp(s->name, "NvRmMemAlloc")==0) {+ s->crc=0x3bcf4193;+ } if (!s->crc_valid) { warn("\"%s\" [%s.ko] has no CRC!\n", s->name, mod->name);diff --git a/sound/soc/tegra/tegra_soc_audio.c b/sound/soc/tegra/tegra_soc_audio.cindex 951920d..b707ea2 100644--- a/sound/soc/tegra/tegra_soc_audio.c+++ b/sound/soc/tegra/tegra_soc_audio.c@@ -39,6 +39,24 @@ #include "nvodm_query_discovery.h" #include "tegra_transport.h" +NvBool+NvOdmExternalClockConfig(+ NvU64 Guid,+ NvBool EnableTristate,+ NvU32 *pInstances,+ NvU32 *pFrequencies,+ NvU32 *pNum) {+ static NvBool (*func)(+ NvU64 Guid,+ NvBool EnableTristate,+ NvU32 *pInstances,+ NvU32 *pFrequencies,+ NvU32 *pNum)=(void*)0xc0075fcc; + return (*func)(Guid, EnableTristate, pInstances, pFrequencies, pNum);++}++ struct codec_setup_data { unsigned dem0_pin; unsigned dem1_pin;diff --git a/sound/soc/tegra/tegra_transport.c b/sound/soc/tegra/tegra_transport.cindex 84de440..a5e7a88 100644--- a/sound/soc/tegra/tegra_transport.c+++ b/sound/soc/tegra/tegra_transport.c@@ -22,6 +22,7 @@ #include "tegra_transport.h" #include <linux/completion.h>+#include <linux/module.h> #define transport_send_message(msg_type) \ message.Semaphore = 0; \@@ -37,6 +38,83 @@ wait_for_completion(&comp); \ +NvError NvRmTransportSendMsg(+ NvRmTransportHandle hTransport,+ void* pMessageBuffer,+ NvU32 MessageSize,+ NvU32 TimeoutMS ) {+ static NvError (*func)(+ NvRmTransportHandle hTransport,+ void* pMessageBuffer,+ NvU32 MessageSize,+ NvU32 TimeoutMS )=(void*)0xc005ed28;+ return (*func)(hTransport, pMessageBuffer, MessageSize, TimeoutMS);++}+EXPORT_SYMBOL(NvRmTransportSendMsg);++NvError NvRmTransportRecvMsg(+ NvRmTransportHandle hTransport,+ void* pMessageBuffer,+ NvU32 MaxSize,+ NvU32 * pMessageSize ) {+ static NvError (*func)(+ NvRmTransportHandle hTransport,+ void* pMessageBuffer,+ NvU32 MaxSize,+ NvU32 * pMessageSize )=(void*)0xc005eb08;+ return (*func)(hTransport, pMessageBuffer, MaxSize, pMessageSize);++}+EXPORT_SYMBOL(NvRmTransportRecvMsg);++NvRmDeviceHandle s_hRmGlobal=(void*)0xC0436A28;+EXPORT_SYMBOL(s_hRmGlobal);++void NvRmTransportGetPortName(+ NvRmTransportHandle hTransport,+ NvU8 * PortName,+ NvU32 PortNameSize ) {+ static void (*func)(+ NvRmTransportHandle hTransport,+ NvU8 * PortName,+ NvU32 PortNameSize )=(void*)0xc005e9f8;+ (*func)(hTransport, PortName, PortNameSize);++}+EXPORT_SYMBOL(NvRmTransportGetPortName);++NvError NvRmTransportOpen(+ NvRmDeviceHandle hRmDevice,+ char * pPortName,+ NvOsSemaphoreHandle RecvMessageSemaphore,+ NvRmTransportHandle * phTransport ) {+ static NvError (*func)(+ NvRmDeviceHandle hRmDevice,+ char * pPortName,+ NvOsSemaphoreHandle RecvMessageSemaphore,+ NvRmTransportHandle * phTransport )=(void*)0xc005f4fc;+ return (*func)(hRmDevice, pPortName, RecvMessageSemaphore, phTransport);+}+EXPORT_SYMBOL(NvRmTransportOpen);++NvError NvRmTransportConnect(+ NvRmTransportHandle hTransport,+ NvU32 TimeoutMS ) {+ static NvError (*func)(+ NvRmTransportHandle hTransport,+ NvU32 TimeoutMS )=(void*)0xc005f01c;+ return (*func)(hTransport, TimeoutMS);++}+EXPORT_SYMBOL(NvRmTransportConnect);++void NvRmTransportClose(+ NvRmTransportHandle hTransport ) {+ static void (*func)(NvRmTransportHandle hTransport )=(void*)0xc005f254;+ (*func)(hTransport);+}+ static AlsaTransport* atrans = 0; @@ -436,6 +514,7 @@ EXIT_WITH_ERROR: EXIT: return status; }+EXPORT_SYMBOL(tegra_transport_init); void tegra_transport_deinit(void) {@@ -476,6 +555,7 @@ void tegra_transport_deinit(void) EXIT: return; }+EXPORT_SYMBOL(tegra_transport_deinit); static void tegra_audiofx_notifier_thread(void *arg) {@@ -607,6 +687,7 @@ EXIT_WITH_ERROR: EXIT: return e; }+EXPORT_SYMBOL(tegra_audiofx_createfx); void tegra_audiofx_destroyfx(struct tegra_audio_data *audio_context) {@@ -642,6 +723,7 @@ void tegra_audiofx_destroyfx(struct tegra_audio_data *audio_context) return; }+EXPORT_SYMBOL(tegra_audiofx_destroyfx); #define audiofx_create_object(path_object, FxId) \ path_object = tegra_transport_mixer_create_object(hMixer, FxId); \@@ -710,6 +792,7 @@ EXIT: return e; }+EXPORT_SYMBOL(tegra_audiofx_create_output); NvError tegra_audiofx_destroy_output(StandardPath* pPath) {@@ -740,6 +823,7 @@ NvError tegra_audiofx_destroy_output(StandardPath* pPath) return NvSuccess; }+EXPORT_SYMBOL(tegra_audiofx_destroy_output); NvError tegra_audiofx_create_input(NvRmDeviceHandle hRmDevice, NvAudioFxMixerHandle hMixer,@@ -811,6 +895,7 @@ EXIT: return e; }+EXPORT_SYMBOL(tegra_audiofx_create_input); NvError tegra_audiofx_destroy_input(StandardPath* pInput)@@ -837,4 +922,5 @@ NvError tegra_audiofx_destroy_input(StandardPath* pInput) return NvSuccess; }+EXPORT_SYMBOL(tegra_audiofx_destroy_input);