summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Klug <john.klug@multitech.com>2017-07-20 16:33:31 -0500
committerJohn Klug <john.klug@multitech.com>2018-05-02 14:25:41 -0500
commit88188953e0e5cf566bafd7032dbfc9000f8dc961 (patch)
tree923f73903033abb2b166fb87808b1dfa3f1d8c9f
parentc39a5cb69e9f22b380e1cfaaa0ed175e2c5de65a (diff)
downloadmts-io-88188953e0e5cf566bafd7032dbfc9000f8dc961.tar.gz
mts-io-88188953e0e5cf566bafd7032dbfc9000f8dc961.tar.bz2
mts-io-88188953e0e5cf566bafd7032dbfc9000f8dc961.zip
Bump the driver level
-rw-r--r--io-module/mts_io.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/io-module/mts_io.c b/io-module/mts_io.c
index 1f12b86..abac4bb 100644
--- a/io-module/mts_io.c
+++ b/io-module/mts_io.c
@@ -1010,6 +1010,33 @@ mts_id_eeprom_load(void)
}
}
+ /* mtcdt gnss and wifi for future devices. We assume the same
+ * pinout as mtcdt on MTR. */
+ if(DEVICE_CAPA(id_eeprom.capa, CAPA_WIFI)) {
+ attr_blength += sizeof mtcdt_0_1_wifi_bt_attributes;
+ }
+ if(DEVICE_CAPA(id_eeprom.capa, CAPA_GPS)) {
+ attr_blength += sizeof mtcdt_0_1_gnss_attributes;
+ }
+ if (current_blength+(sizeof(struct attribute *)) != attr_blength) {
+ freelater = all_attrs = kmalloc(attr_blength,GFP_KERNEL);
+ current_count = current_blength/(sizeof (struct attribute *));
+ memcpy(all_attrs,mtrv1_0_1_platform_attributes,current_blength);
+ if(DEVICE_CAPA(id_eeprom.capa, CAPA_WIFI)) {
+ log_info("Adding WiFi/BT to mts-io driver");
+ memcpy(all_attrs + current_count,mtcdt_0_1_wifi_bt_attributes,sizeof mtcdt_0_1_wifi_bt_attributes);
+ current_count += sizeof mtcdt_0_1_wifi_bt_attributes / (sizeof (struct attribute *));
+ }
+ if(DEVICE_CAPA(id_eeprom.capa, CAPA_GPS)) {
+ log_info("Adding GPS to mts-io driver");
+ attr_blength += sizeof mtcdt_0_1_gnss_attributes;
+ memcpy(all_attrs + current_count,mtcdt_0_1_gnss_attributes,sizeof mtcdt_0_1_gnss_attributes);
+ current_count += sizeof mtcdt_0_1_gnss_attributes / (sizeof (struct attribute *));
+ }
+ all_attrs[current_count] = (struct attribute *)NULL;
+ mtrv1_0_1_platform_attribute_group.attrs = all_attrs;
+ }
+
attr_group = &mtrv1_0_1_platform_attribute_group;
gpio_pins = gpio_pins_mtrv1_0_1;
mts_hw_version = MTRV1_0_1;