From 47f3a89441324f4912a7c83bad4f40837bc365b5 Mon Sep 17 00:00:00 2001 From: John Klug Date: Fri, 2 Dec 2016 16:50:38 -0600 Subject: Fix ethernet accessory card bug and add capability directory --- io-module/mts_io.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'io-module/mts_io.c') diff --git a/io-module/mts_io.c b/io-module/mts_io.c index b71eabb..54b1f76 100644 --- a/io-module/mts_io.c +++ b/io-module/mts_io.c @@ -653,6 +653,8 @@ static struct kobject *ap_subdirs[NUM_AP]; static struct attribute_group ap_attr_groups[NUM_AP]; /* info for accessory port (contains function pointers for setup and teardown and and useful info) */ static struct ap_info* port_info[NUM_AP]; +static struct kobject *capab; +static struct attribute_group capab_group; /* accessory card support */ #include "mtac.c" @@ -660,6 +662,7 @@ static struct ap_info* port_info[NUM_AP]; #include "mtac_mfser.c" #include "mtac_eth.c" #include "mtac_lora.c" +#include "mts_capab.c" static bool load_port(int port) { int port_index = port - 1; @@ -934,7 +937,11 @@ static void cleanup(void) kfree(freelater); freelater = NULL; } - log_info("done cleaning up...."); + + if(capab_group.attrs) + kobject_put((struct kobject *)capab_group.attrs); + + log_info("JAK done cleaning up...."); } static int __init mts_io_init(void) @@ -965,6 +972,22 @@ static int __init mts_io_init(void) init_ports(); + capab = kobject_create_and_add("capability", &mts_io_platform_device->dev.kobj); + if (capab == NULL) { + log_error("kobject_create_and_add for capability directory failed"); + return false; + } + + capab_group.attrs = kzalloc(sizeof(struct attribute*) * CAPA_COUNT, GFP_KERNEL); + if (! capab_add_attributes(capab_group.attrs)) { + return false; + } + + if (sysfs_create_group(capab, &capab_group)) { + log_error("sysfs_create_group failed to create capability group"); + return false; + } + ret = sysfs_create_group(&mts_io_platform_device->dev.kobj, attr_group); if (ret) { cleanup(); -- cgit v1.2.3