Update examples/module and system/symtab to adjust to change in boardctl() and insmod() interfaces

This commit is contained in:
Gregory Nutt
2015-12-13 08:14:44 -06:00
parent 469a7fdf0f
commit d198f09ae3
4 changed files with 18 additions and 3 deletions

View File

@@ -6,6 +6,8 @@
config EXAMPLES_MODULE
bool "Module Example"
default n
depends on MODULE && LIB_BOARDCTL
select BOARDCTL_OS_SYMTAB
---help---
Enable the module example

View File

@@ -41,6 +41,7 @@
#include <nuttx/compiler.h>
#include <sys/mount.h>
#include <sys/boardctl.h>
#include <stdio.h>
#include <stdlib.h>
@@ -122,11 +123,23 @@ int main(int argc, FAR char *argv[])
int module_main(int argc, char *argv[])
#endif
{
struct boardioc_symtab_s symdesc;
char buffer[128];
ssize_t nbytes;
int ret;
int fd;
/* Set the OS symbol table indirectly through the boardctl() */
symdesc.symtab = exports;
symdesc.nsymbols = nexports;
ret = boardctl(BOARDIOC_OS_SYMTAB, (uintptr_t)&symdesc);
if (ret < 0)
{
fprintf(stderr, "ERROR: boardctl(BOARDIOC_OS_SYMTAB) failed: %d\n", ret);
exit(EXIT_FAILURE);
}
/* Create a ROM disk for the ROMFS filesystem */
printf("Registering romdisk at /dev/ram%d\n", CONFIG_EXAMPLES_MODULE_DEVMINOR);
@@ -153,7 +166,7 @@ int module_main(int argc, char *argv[])
/* Install the character driver */
ret = insmod(MOUNTPT "/chardev", "chardev", exports, nexports);
ret = insmod(MOUNTPT "/chardev", "chardev");
if (ret < 0)
{
fprintf(stderr, "ERROR: insmod failed: %d\n", ret);