diff options
author | John Klug <john.klug@multitech.com> | 2017-07-20 16:33:31 -0500 |
---|---|---|
committer | John Klug <john.klug@multitech.com> | 2018-05-02 14:33:04 -0500 |
commit | ec8ae1ede10cc660b724aa93fc22e5b078465bda (patch) | |
tree | 896f1fd9c38d87a00c913355ff443c6aa4c69f6b /io-module | |
parent | acb2022d90f52c86d31e98dea6ca5275701fc04b (diff) | |
download | mts-io-ec8ae1ede10cc660b724aa93fc22e5b078465bda.tar.gz mts-io-ec8ae1ede10cc660b724aa93fc22e5b078465bda.tar.bz2 mts-io-ec8ae1ede10cc660b724aa93fc22e5b078465bda.zip |
Bump the driver level
Diffstat (limited to 'io-module')
-rw-r--r-- | io-module/mts_io.c | 27 |
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; |