summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--io-module/mts-io.c247
1 files changed, 127 insertions, 120 deletions
diff --git a/io-module/mts-io.c b/io-module/mts-io.c
index 0072d2e..f5c61ac 100644
--- a/io-module/mts-io.c
+++ b/io-module/mts-io.c
@@ -124,7 +124,7 @@ static int mts_io_probe(struct platform_device *pdev)
if (!dev->parent) {
dev_info(dev, "Parent device is not found");
} else if (dev->parent == &platform_bus) {
- dev_info(dev "Parent device is platform_bus. No need to create symlink");
+ dev_info(dev, "Parent device is platform_bus. No need to create symlink");
goto exit;
}
dev_info(dev "Creating symlink on platform_bus to %s", symlink_name);
@@ -148,7 +148,7 @@ static int mts_io_remove(struct platform_device *pdev)
struct mts_io_drvdata *mts_io_dd = platform_get_drvdata(pdev);
const char *symlink_name = kobject_name(&pdev->dev.kobj);
if (mts_io_dd && mts_io_dd->f_platform_bus_symlink) {
- dev_info(&mts_io_platform_device->dev,"Removing %s symlink from platform_bus", symlink_name); //JAK
+ dev_info(pdev->dev,"Removing %s symlink from platform_bus", symlink_name);
sysfs_remove_link(&platform_bus.kobj, symlink_name);
}
#endif // PLATFORM_BUS_SYMLINK
@@ -321,7 +321,7 @@ static ssize_t mts_attr_store_radio_reset(struct device *dev,
if (value != -1 && NULL != timings_data) {
/* check reset timer is started */
if (radio_reset_timer_is_start == 1) {
- log_info("radio reset timer is running. \n");
+ dev_info(dev,"radio reset timer is running. \n");
return count;
}
@@ -333,14 +333,14 @@ static ssize_t mts_attr_store_radio_reset(struct device *dev,
/* reset timer not started, start it */
mod_timer(&radio_reset_timer, jiffies + msecs_to_jiffies((timings_data[timings_data_index]) * 1000));
- //log_info("radio reset timer is start = [%d]\n", time_now_secs());
+ //dev_info(dev,"radio reset timer is start = [%d]\n", time_now_secs());
/* save timings_data_stop_seconds */
timings_data_stop_seconds = timings_data[timings_data_index] + time_now_secs();
radio_reset_timer_is_start = 1;
}
reset_radio_udev_discovery();
- log_info("radio is reset\n");
+ dev_info(dev,"radio is reset\n");
pin = gpio_pin_by_attr_name("radio-reset");
@@ -396,12 +396,12 @@ static void radio_reset_available_timer_callback( unsigned long data )
#endif
{
/* do your timer stuff here */
- //log_info("radio_reset_available_timer_callback\n");
- //log_info("radio reset available timer is stop = [%d]\n", time_now_secs());
+ //dev_info(&mts_io_platform_device->dev,"radio_reset_available_timer_callback\n");
+ //dev_info(&mts_io_platform_device->dev,"radio reset available timer is stop = [%d]\n", time_now_secs());
/* zero timings_data_index */
timings_data_index = 0;
- //log_info("timings data index is zero = [%d]\n", timings_data_index);
+ //dev_info(&mts_io_platform_device->dev,"timings data index is zero = [%d]\n", timings_data_index);
radio_reset_available_timer_is_start = 0;
}
@@ -412,8 +412,8 @@ static void radio_reset_timer_callback( unsigned long data )
#endif
{
/* do your timer stuff here */
- //log_info("radio_reset_timer_callback\n");
- //log_info("radio reset timer is stop = [%d]\n", time_now_secs());
+ //dev_info(&mts_io_platform_device->dev,"radio_reset_timer_callback\n");
+ //dev_info(&mts_io_platform_device->dev,"radio reset timer is stop = [%d]\n", time_now_secs());
/* increment timings_data_index */
timings_data_index++;
@@ -421,11 +421,11 @@ static void radio_reset_timer_callback( unsigned long data )
timings_data_index = timings_data_size-1;
}
- //log_info("timings data index = [%d]\n", timings_data_index);
+ //dev_info(&mts_io_platform_device->dev,"timings data index = [%d]\n", timings_data_index);
/* reset available timer not started, start it */
mod_timer(&radio_reset_available_timer, jiffies + msecs_to_jiffies((timings_data[timings_data_index]) * 1000));
- //log_info("radio reset available timer is start = [%d]\n", time_now_secs());
+ //dev_info(&mts_io_platform_device->dev,"radio reset available timer is start = [%d]\n", time_now_secs());
radio_reset_available_timer_is_start = 1;
radio_reset_timer_is_start = 0;
}
@@ -447,7 +447,7 @@ static ssize_t mts_attr_store_radio_reset_backoffs(struct device *dev,
radio_reset_timer_is_start = 0;
radio_reset_available_timer_is_start = 0;
- //log_info("free previous timings_data\n");
+ //dev_info(&mts_io_platform_device->dev,"free previous timings_data\n");
kfree(timings_data);
timings_data = NULL;
timings_data_size = 0;
@@ -455,30 +455,30 @@ static ssize_t mts_attr_store_radio_reset_backoffs(struct device *dev,
/* make a copy */
if( NULL == (timings_data_str = kzalloc((strlen(buf) + 1), GFP_KERNEL)) ){
- log_error("can`t allocate memory\n");
+ dev_err(&mts_io_platform_device->dev,"can`t allocate memory\n");
return -EINVAL;
}
- //log_info("radio_reset_backoffs buf: [%s]", buf);
+ //dev_info(&mts_io_platform_device->dev,"radio_reset_backoffs buf: [%s]", buf);
strncpy(timings_data_str, buf, (strlen(buf) + 1));
/* get number of tokens */
while (NULL != (pch = strsep (&timings_data_str, delimiter))) {
int value = 0;
sscanf(pch, "%d", &value);
- //log_info("radio reset backoffs pch = [%s]\n", pch);
+ //dev_info(&mts_io_platform_device->dev,"radio reset backoffs pch = [%s]\n", pch);
if (value > 0){
size++;
if (NULL == timings_data) {
/* make alloc */
if (NULL == (timings_data = kmalloc(sizeof(unsigned int), GFP_KERNEL))) {
- log_error("radio reset backoffs can`t allocate memory\n");
+ dev_err(&mts_io_platform_device->dev,"radio reset backoffs can`t allocate memory\n");
goto free;
}
} else {
/* make realloc */
if (NULL == (timings_data = krealloc(timings_data, size * sizeof(unsigned int), GFP_KERNEL))) {
- log_error("radio reset backoffs can`t allocate memory\n");
+ dev_err(&mts_io_platform_device->dev,"radio reset backoffs can`t allocate memory\n");
goto free;
}
}
@@ -488,7 +488,7 @@ static ssize_t mts_attr_store_radio_reset_backoffs(struct device *dev,
}
timings_data_size = size;
- //log_info("timings_data_size = %d\n", timings_data_size);
+ //dev_info(&mts_io_platform_device->dev,"timings_data_size = %d\n", timings_data_size);
if (NULL != timings_data_str) {
/* free timings_data_str */
@@ -521,7 +521,7 @@ static ssize_t mts_attr_store_radio_reset_backoffs_index(struct device *dev,
}
if ((value < 0) || (value >= timings_data_size)) {
- log_error("incorrect data\n");
+ dev_err(dev,"incorrect data\n");
return -EINVAL;
}
@@ -565,7 +565,7 @@ static ssize_t mts_attr_show_radio_reset_backoff_index(struct device *dev,
value = sprintf(buf, "%d", timings_data_index);
}
else {
- log_error("attribute '%s' not found", attr->attr.name);
+ dev_err(dev,"attribute '%s' not found", attr->attr.name);
value = -1;
}
@@ -585,7 +585,7 @@ static ssize_t mts_attr_show_radio_reset_backoff_seconds(struct device *dev,
value = sprintf(buf, "%d", 0);
}
} else {
- log_error("attribute '%s' not found", attr->attr.name);
+ dev_err(dev,"attribute '%s' not found", attr->attr.name);
value = -1;
}
@@ -723,7 +723,7 @@ static ssize_t mts_attr_show_product_info(struct device *dev,
#endif
}
else {
- log_error("attribute '%s' not found", attr->attr.name);
+ dev_err(dev,"attribute '%s' not found", attr->attr.name);
value = -1;
}
@@ -832,24 +832,29 @@ mts_id_eeprom_load(void)
if((ret = request_firmware_direct(&fw, "0-0056/eeprom", &mts_io_platform_device->dev)) == 0) {
if(fw->size == sizeof(id_eeprom)) {
memcpy(&id_eeprom, fw->data, sizeof(id_eeprom));
- log_info("Platform EEPROM contents loaded");
+ dev_info(&mts_io_platform_device->dev,"Platform EEPROM contents loaded");
} else {
- log_error("Invalid platform EEPROM length (%d)", fw->size);
+ dev_err(&mts_io_platform_device->dev,"Invalid platform EEPROM length (%d)", fw->size);
return -EINVAL;
}
release_firmware(fw);
} else {
- log_error("Unable to load EEPROM contents (%d)", ret);
+ dev_err(&mts_io_platform_device->dev,"Unable to load EEPROM contents (%d)", ret);
return -ENODEV;
}
- if (id_eeprom.eeprom_layout_version == 0) {
- noradio = ! mts_has_radio(id_eeprom.product_id,sizeof id_eeprom.product_id);
- } else {
- has_cellular_capaflag = 1;
- noradio = ! DEVICE_CAPA(id_eeprom.capa, CAPA_CELLULAR);
- }
+ /* If we are an MTCPM-0.0, the base board sets the radio existance, and we always
+ * add the radio-reset, etc */
+ if (strncmp(id_eeprom.hw_version,HW_VERSION_MTCPM_0_0,sizeof HW_VERSION_MTCPM_0_0) != 0) {
+ if (id_eeprom.eeprom_layout_version == 0) {
+ noradio = ! mts_has_radio(id_eeprom.product_id,sizeof id_eeprom.product_id);
+ } else {
+ has_cellular_capaflag = 1;
+ noradio = ! DEVICE_CAPA(id_eeprom.capa, CAPA_CELLULAR);
+ }
+ dev_dbg(&mts_io_platform_device->dev,"mts_id_eeprom_load: noradio=%d",noradio);
+ }
if (is_mtr()) {
noradio = 0;
@@ -870,12 +875,12 @@ mts_id_eeprom_load(void)
struct attribute **ap = mtcap_0_0_platform_attribute_group.attrs;
while(1) {
if(ap[j] == NULL) {
- log_info("Did not find radio power attribute. Possible driver fault.");
+ dev_info(&mts_io_platform_device->dev,"Did not find radio power attribute. Possible driver fault.");
break;
}
j++;
if (is_radio_power_attr_mtcap(ap[j])) {
- log_info("Pruning radio feature from mts-io",j);
+ dev_info(&mts_io_platform_device->dev,"Pruning radio feature from mts-io");
ap[j] = NULL;
current_blength = attr_blength = j * sizeof (ap[j]);
/* account for removed attributes in table length */
@@ -906,22 +911,22 @@ mts_id_eeprom_load(void)
current_count = current_blength/(sizeof (struct attribute *));
memcpy(all_attrs,mtcap_0_0_platform_attributes,current_blength);
if(DEVICE_CAPA(id_eeprom.capa, CAPA_GPS)) {
- log_info("Adding GPS to mts-io driver");
+ dev_info(&mts_io_platform_device->dev,"Adding GPS to mts-io driver");
memcpy(all_attrs + current_count,mtcap_0_3_gnss_attributes,sizeof mtcap_0_3_gnss_attributes);
current_count += sizeof mtcap_0_3_gnss_attributes / (sizeof (struct attribute *));
}
if(DEVICE_CAPA(id_eeprom.capa, CAPA_SUPERCAP)) {
- log_info("Adding supercap to mts-io driver");
+ dev_info(&mts_io_platform_device->dev,"Adding supercap to mts-io driver");
memcpy(all_attrs + current_count,mtcap_0_3_supercap_attributes,sizeof mtcap_0_3_supercap_attributes);
current_count += sizeof mtcap_0_3_supercap_attributes / (sizeof (struct attribute *));
}
if(DEVICE_CAPA(id_eeprom.capa, CAPA_WIFI)) {
- log_info("Adding Wi-Fi to mts-io driver");
+ dev_info(&mts_io_platform_device->dev,"Adding Wi-Fi to mts-io driver");
memcpy(all_attrs + current_count,mtcap_0_0_wifi_attributes,sizeof mtcap_0_0_wifi_attributes);
current_count += sizeof mtcap_0_0_wifi_attributes / (sizeof (struct attribute *));
}
if (need_radio_enable) {
- log_info("Adding Radio Enable to mts-io driver");
+ dev_info(&mts_io_platform_device->dev,"Adding Radio Enable to mts-io driver");
memcpy(all_attrs + current_count,mtcap_0_2_enable_radio_attribute,sizeof mtcap_0_2_enable_radio_attribute);
current_count += sizeof mtcap_0_2_enable_radio_attribute / (sizeof (struct attribute *));
}
@@ -935,7 +940,7 @@ mts_id_eeprom_load(void)
if (DEVICE_CAPA(id_eeprom.capa, CAPA_LORA)) {
attr_group_lora = &mtcap_0_0_lora_attribute_group;
}
- log_info("detected board %s", hw_version_str);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", hw_version_str);
} else if (found_board(HW_VERSION_MTCAP3_0_0,MTCAP3_0_0,&hw_version_str,&mts_hw_version)) {
current_blength = attr_blength = sizeof mtcap3_0_0_platform_attributes;
current_blength -= sizeof(struct attribute *); /* Length without terminating NULL */
@@ -944,12 +949,12 @@ mts_id_eeprom_load(void)
struct attribute **ap = mtcap3_0_0_platform_attribute_group.attrs;
while(1) {
if (ap[j] == NULL) {
- log_info("Did not find radio reset attribute. Possible driver fault.");
+ dev_info(&mts_io_platform_device->dev,"Did not find radio reset attribute. Possible driver fault.");
break;
}
j++;
if (is_radio_power_attr_mtcap3(ap[j])) {
- log_info("Pruning radio feature from mts-io",j);
+ dev_info(&mts_io_platform_device->dev,"Pruning radio feature from mts-io");
ap[j] = NULL;
current_blength = j * sizeof (ap[j]); /* Size without NULL */
attr_blength += sizeof (ap[j]); /* Size of attr array with NULL */
@@ -973,7 +978,7 @@ mts_id_eeprom_load(void)
current_lora_count = current_lora_blength/(sizeof (struct attribute *));
memcpy(all_lora_attrs, mtcap3_0_0_lora_attributes, current_lora_blength);
if (DEVICE_CAPA (id_eeprom.capa, CAPA_LORA_LBT)) {
- log_info("Adding lora-lbt to mts-io driver");
+ dev_info(&mts_io_platform_device->dev,"Adding lora-lbt to mts-io driver");
memcpy(all_lora_attrs + current_lora_count, mtcap3_0_0_lora_lbt_attributes, sizeof mtcap3_0_0_lora_lbt_attributes);
current_lora_count += sizeof mtcap3_0_0_lora_lbt_attributes / (sizeof (struct attribute *));
}
@@ -988,69 +993,69 @@ mts_id_eeprom_load(void)
gpio_pins = gpio_pins_mtcap3_0_0;
set_buttons(default_buttons);
mts_hw_version = MTCAP3_0_0;
- log_info("detected board %s", HW_VERSION_MTCAP3_0_0);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", HW_VERSION_MTCAP3_0_0);
} else if (found_board(HW_VERSION_MTRE,MTRE_0_0,&hw_version_str,&mts_hw_version)) {
attr_group = &mtre_0_0_platform_attribute_group;
gpio_pins = gpio_pins_mtre_0_0;
set_buttons(default_buttons);
mts_leds = mtre_0_0_leds;
mts_hw_version = MTRE_0_0;
- log_info("detected board %s", HW_VERSION_MTRE);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", HW_VERSION_MTRE);
} else if (found_board(HW_VERSION_MTR_0_0,MTR_0_0,&hw_version_str,&mts_hw_version)) {
attr_group = &mtr_platform_attribute_group;
gpio_pins = gpio_pins_mtr_0_0;
set_buttons(default_buttons);
mts_hw_version = MTR_0_0;
- log_info("detected board %s", HW_VERSION_MTR_0_0);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", HW_VERSION_MTR_0_0);
} else if (found_board(HW_VERSION_MTR_0_1,MTR_0_1,&hw_version_str,&mts_hw_version)) {
attr_group = &mtr_platform_attribute_group;
gpio_pins = gpio_pins_mtr_0_1;
set_buttons(default_buttons);
mts_hw_version = MTR_0_1;
- log_info("detected board %s", HW_VERSION_MTR_0_1);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", HW_VERSION_MTR_0_1);
} else if (found_board(HW_VERSION_MTRV1_0_0,MTRV1_0_0,&hw_version_str,&mts_hw_version)) {
attr_group = &mtr_platform_attribute_group;
gpio_pins = gpio_pins_mtrv1_0_0;
set_buttons(default_buttons);
mts_hw_version = MTRV1_0_0;
- log_info("detected board %s", HW_VERSION_MTRV1_0_0);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", HW_VERSION_MTRV1_0_0);
} else if (found_board(HW_VERSION_MTRV1_0_1,MTRV1_0_1,&hw_version_str,&mts_hw_version)) {
attr_group = &mtrv1_0_1_platform_attribute_group;
gpio_pins = gpio_pins_mtrv1_0_1;
set_buttons(default_buttons);
mts_hw_version = MTRV1_0_1;
- log_info("detected board %s", HW_VERSION_MTRV1_0_1);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", HW_VERSION_MTRV1_0_1);
} else if (found_board(HW_VERSION_MTRV1_0_2,MTRV1_0_2,&hw_version_str,&mts_hw_version)) {
attr_group = &mtrv1_0_2_platform_attribute_group;
gpio_pins = gpio_pins_mtrv1_0_2;
set_buttons(default_buttons);
mts_hw_version = MTRV1_0_2;
- log_info("detected board %s", HW_VERSION_MTRV1_0_2);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", HW_VERSION_MTRV1_0_2);
} else if (found_board(HW_VERSION_MTRV1_0_3,MTRV1_0_3,&hw_version_str,&mts_hw_version)) {
attr_group = &mtrv1_0_3_platform_attribute_group;
gpio_pins = gpio_pins_mtrv1_0_3;
set_buttons(default_buttons);
mts_hw_version = MTRV1_0_3;
- log_info("detected board %s", HW_VERSION_MTRV1_0_3);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", HW_VERSION_MTRV1_0_3);
} else if (found_board(HW_VERSION_MTRV1_0_4,MTRV1_0_4,&hw_version_str,&mts_hw_version)) {
attr_group = &mtrv1_0_4_platform_attribute_group;
gpio_pins = gpio_pins_mtrv1_0_4;
set_buttons(default_buttons);
mts_hw_version = MTRV1_0_4;
mtr_setup_radio_status(id_eeprom.product_id);
- log_info("detected board %s", HW_VERSION_MTRV1_0_4);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", HW_VERSION_MTRV1_0_4);
} else if (found_board(HW_VERSION_MTHS_0_0,MTHS_0_0,&hw_version_str,&mts_hw_version)) {
attr_group = &mths_0_0_platform_attribute_group;
gpio_pins = gpio_pins_mths_0_0;
set_buttons(mths_buttons_0_0);
mts_hw_version = MTHS_0_0;
- log_info("detected board %s", HW_VERSION_MTHS_0_0);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", HW_VERSION_MTHS_0_0);
} else if (found_board(HW_VERSION_MTHS_0_1,MTHS_0_1,&hw_version_str,&mts_hw_version)) {
attr_group = &mths_0_0_platform_attribute_group;
gpio_pins = gpio_pins_mths_0_1;
set_buttons(mths_buttons_0_0); /* Only one button version */
mts_hw_version = MTHS_0_1;
- log_info("detected board %s", HW_VERSION_MTHS_0_1);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", HW_VERSION_MTHS_0_1);
} else if (found_board(HW_VERSION_MTCDT_0_1,MTCDT_0_1,&hw_version_str,&mts_hw_version) ||
found_board(HW_VERSION_MTCDTIP_0_0,MTCDTIP_0_0,&hw_version_str,&mts_hw_version)) {
need_append = 0;
@@ -1062,12 +1067,12 @@ mts_id_eeprom_load(void)
struct attribute **ap = mtcdt_0_1_platform_attribute_group.attrs;
while(1) {
if(ap[j] == NULL) {
- log_info("Did not find radio power attribute. Possible driver fault.");
+ dev_info(&mts_io_platform_device->dev,"Did not find radio power attribute. Possible driver fault.");
break;
}
j++;
if (is_radio_power_attr_mtcdt(ap[j])) {
- log_info("Pruning radio feature from mts-io",j);
+ dev_info(&mts_io_platform_device->dev,"Pruning radio feature from mts-io");
ap[j] = NULL;
current_blength = j * sizeof (ap[j]); /* Size without NULL */
attr_blength += sizeof (ap[j]); /* Size of attr array with NULL */
@@ -1089,12 +1094,12 @@ mts_id_eeprom_load(void)
current_count = current_blength/(sizeof (struct attribute *));
memcpy(all_attrs,mtcdt_0_1_platform_attributes,current_blength);
if(DEVICE_CAPA(id_eeprom.capa, CAPA_WIFI)) {
- log_info("Adding WiFi/BT to mts-io driver");
+ dev_info(&mts_io_platform_device->dev,"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");
+ dev_info(&mts_io_platform_device->dev,"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 *));
@@ -1106,7 +1111,7 @@ mts_id_eeprom_load(void)
attr_group = &mtcdt_0_1_platform_attribute_group;
gpio_pins = gpio_pins_mtcdt_0_1;
set_buttons(default_buttons);
- log_info("detected board %s", hw_version_str);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", hw_version_str);
} else if (found_board(HW_VERSION_MTCDT_0_2,MTCDT_0_2,&hw_version_str,&mts_hw_version) ||
found_board(HW_VERSION_MTCDTIP_0_1,MTCDTIP_0_1,&hw_version_str,&mts_hw_version)) {
need_append = 0;
@@ -1118,12 +1123,12 @@ mts_id_eeprom_load(void)
struct attribute **ap = mtcdt_0_2_platform_attribute_group.attrs;
while(1) {
if(ap[j] == NULL) {
- log_info("Did not find radio power attribute. Possible driver fault.");
+ dev_info(&mts_io_platform_device->dev,"Did not find radio power attribute. Possible driver fault.");
break;
}
j++;
if (is_radio_power_attr_mtcdt(ap[j])) {
- log_info("Pruning radio feature from mts-io",j);
+ dev_info(&mts_io_platform_device->dev,"Pruning radio feature from mts-io");
ap[j] = NULL;
current_blength = j * sizeof (ap[j]); /* Size without NULL */
attr_blength += sizeof (ap[j]); /* Size of attr array with NULL */
@@ -1145,12 +1150,12 @@ mts_id_eeprom_load(void)
current_count = current_blength/(sizeof (struct attribute *));
memcpy(all_attrs,mtcdt_0_2_platform_attributes,current_blength);
if(DEVICE_CAPA(id_eeprom.capa, CAPA_WIFI)) {
- log_info("Adding WiFi/BT to mts-io driver");
+ dev_info(&mts_io_platform_device->dev,"Adding WiFi/BT to mts-io driver");
memcpy(all_attrs + current_count,mtcdt_0_2_wifi_bt_attributes,sizeof mtcdt_0_2_wifi_bt_attributes);
current_count += sizeof mtcdt_0_2_wifi_bt_attributes / (sizeof (struct attribute *));
}
if(DEVICE_CAPA(id_eeprom.capa, CAPA_GPS)) {
- log_info("Adding GPS to mts-io driver");
+ dev_info(&mts_io_platform_device->dev,"Adding GPS to mts-io driver");
attr_blength += sizeof mtcdt_0_2_gnss_attributes;
memcpy(all_attrs + current_count,mtcdt_0_2_gnss_attributes,sizeof mtcdt_0_2_gnss_attributes);
current_count += sizeof mtcdt_0_2_gnss_attributes / (sizeof (struct attribute *));
@@ -1162,7 +1167,7 @@ mts_id_eeprom_load(void)
attr_group = &mtcdt_0_2_platform_attribute_group;
gpio_pins = gpio_pins_mtcdt_0_2;
set_buttons(default_buttons);
- log_info("detected board %s", hw_version_str);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", hw_version_str);
} else if (found_board(HW_VERSION_MTCDTIPHP_0_0,MTCDTIPHP_0_0,&hw_version_str,&mts_hw_version)) {
need_append = 0;
current_blength = attr_blength = sizeof mtcdt_0_1_platform_attributes;
@@ -1173,12 +1178,12 @@ mts_id_eeprom_load(void)
struct attribute **ap = mtcdt_0_1_platform_attribute_group.attrs;
while(1) {
if(ap[j] == NULL) {
- log_info("Did not find radio power attribute. Possible driver fault.");
+ dev_info(&mts_io_platform_device->dev,"Did not find radio power attribute. Possible driver fault.");
break;
}
j++;
if (is_radio_power_attr_mtcdt(ap[j])) {
- log_info("Pruning radio feature from mts-io",j);
+ dev_info(&mts_io_platform_device->dev,"Pruning radio feature from mts-io");
ap[j] = NULL;
current_blength = j * sizeof (ap[j]); /* Size without NULL */
attr_blength += sizeof (ap[j]); /* Size of attr array with NULL */
@@ -1195,7 +1200,7 @@ mts_id_eeprom_load(void)
current_count = current_blength/(sizeof (struct attribute *));
memcpy(all_attrs,mtcdt_0_1_platform_attributes,current_blength);
if(DEVICE_CAPA(id_eeprom.capa, CAPA_WIFI)) {
- log_info("Adding WiFi/BT to mts-io driver");
+ dev_info(&mts_io_platform_device->dev,"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 *));
}
@@ -1212,18 +1217,18 @@ mts_id_eeprom_load(void)
}
set_buttons(default_buttons);
mts_hw_version = MTCDTIPHP_0_0;
- log_info("detected board %s", hw_version_str);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", hw_version_str);
} else if (found_board(HW_VERSION_MTCDT_0_0,MTCDT_0_0,&hw_version_str,&mts_hw_version)) {
if(noradio) {
struct attribute **ap = mtcdt_platform_attribute_group.attrs;
while(1) {
if(ap[j] == NULL) {
- log_info("Did not find radio power attribute. Possible driver fault.");
+ dev_info(&mts_io_platform_device->dev,"Did not find radio power attribute. Possible driver fault.");
break;
}
j++;
if (is_radio_power_attr_mtcdt(ap[j])) {
- log_info("Pruning radio feature from mts-io",j);
+ dev_info(&mts_io_platform_device->dev,"Pruning radio feature from mts-io");
ap[j] = NULL;
break;
}
@@ -1234,7 +1239,7 @@ mts_id_eeprom_load(void)
gpio_pins = gpio_pins_mtcdt_0_0;
mts_hw_version = MTCDT_0_0;
set_buttons(default_buttons);
- log_info("detected board %s", hw_version_str);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", hw_version_str);
} else if (found_board(HW_VERSION_MTCPM_0_0,MTCPM_0_0,&hw_version_str,&mts_hw_version) ||
found_board(HW_VERSION_MTCPM_0_1,MTCPM_0_1,&hw_version_str,&mts_hw_version) ||
found_board(HW_VERSION_MTCPM_0_2,MTCPM_0_2,&hw_version_str,&mts_hw_version)) {
@@ -1247,12 +1252,12 @@ mts_id_eeprom_load(void)
struct attribute **ap = mtcpm_platform_attribute_group.attrs;
while(1) {
if(ap[j] == NULL) {
- log_info("Did not find radio reset attribute. Possible driver fault.");
+ dev_info(&mts_io_platform_device->dev,"Did not find radio reset attribute. Possible driver fault.");
break;
}
j++;
if (is_radio_reset_attr_mtcpm(ap[j])) {
- log_info("Pruning radio feature from mts-io",j);
+ dev_info(&mts_io_platform_device->dev,"Pruning radio feature from mts-io");
ap[j] = NULL;
current_blength = j * sizeof (ap[j]); /* Size without NULL */
attr_blength += sizeof (ap[j]); /* Size of attr array with NULL */
@@ -1277,18 +1282,18 @@ mts_id_eeprom_load(void)
current_count = current_blength/(sizeof (struct attribute *));
memcpy(all_attrs,mtcpm_platform_attributes,current_blength);
if (strncmp(hw_version_str,HW_VERSION_MTCPM_DASH,strlen(HW_VERSION_MTCPM_DASH))!=0) {
- log_info("Adding has_radio to mts-io driver");
+ dev_info(&mts_io_platform_device->dev,"Adding has_radio to mts-io driver");
memcpy(all_attrs + current_count,mtcpm_has_radio_attribute,sizeof mtcpm_has_radio_attribute);
current_count += sizeof mtcpm_has_radio_attribute / (sizeof (struct attribute *));
}
if(DEVICE_CAPA(id_eeprom.capa, CAPA_WIFI)) {
- log_info("Adding WiFi/BT to mts-io driver");
+ dev_info(&mts_io_platform_device->dev,"Adding WiFi/BT to mts-io driver");
memcpy(all_attrs + current_count,mtcpm_wifi_bt_attributes,sizeof mtcpm_wifi_bt_attributes);
current_count += sizeof mtcpm_wifi_bt_attributes / (sizeof (struct attribute *));
}
if(DEVICE_CAPA(id_eeprom.capa, CAPA_GPS)) {
- log_info("Adding GPS to mts-io driver");
+ dev_info(&mts_io_platform_device->dev,"Adding GPS to mts-io driver");
attr_blength += sizeof mtcpm_gnss_attributes;
memcpy(all_attrs + current_count,mtcpm_gnss_attributes,sizeof mtcpm_gnss_attributes);
current_count += sizeof mtcpm_gnss_attributes / (sizeof (struct attribute *));
@@ -1301,13 +1306,13 @@ mts_id_eeprom_load(void)
gpio_pins = gpio_pins_mtcpm;
set_buttons(default_buttons);
mts_leds = mtcpmhs_leds;
- log_info("detected board %s", hw_version_str);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", hw_version_str);
} else if (found_board(HW_VERSION_MT100EOCG_0_0,MT100EOCG_0_0,&hw_version_str,&mts_hw_version)) {
attr_group = &mt100eocg_platform_attribute_group;
gpio_pins = gpio_pins_mt100eocg_0_0;
mts_hw_version = MT100EOCG_0_0;
set_buttons(default_buttons);
- log_info("detected board %s", HW_VERSION_MT100EOCG_0_0);
+ dev_info(&mts_io_platform_device->dev,"detected board %s", HW_VERSION_MT100EOCG_0_0);
} else {
int i;
@@ -1319,24 +1324,24 @@ mts_id_eeprom_load(void)
if(! isprint(id_eeprom.hw_version[i]))
break;
}
- log_alert("Unsupported EEPROM settings or device");
+ dev_alert(&mts_io_platform_device->dev,"Unsupported EEPROM settings or device");
if(i)
- log_alert("Found unsupported EEPROM HW_VERSION: %.*s",i,id_eeprom.hw_version);
- log_alert("Check log for HW_VERSION dump");
+ dev_alert(&mts_io_platform_device->dev,"Found unsupported EEPROM HW_VERSION: %.*s",i,id_eeprom.hw_version);
+ dev_alert(&mts_io_platform_device->dev,"Check log for HW_VERSION dump");
print_hex_dump_bytes("HW_VERSION: ", DUMP_PREFIX_OFFSET, id_eeprom.hw_version, sizeof id_eeprom.hw_version);
return -ENODEV;
}
- log_info("EEPROM-Layout-Version: %u",id_eeprom.eeprom_layout_version);
- log_info("sizeof: %lu", (unsigned long) sizeof(struct mts_id_eeprom_layout));
- log_info("vendor-id: %.32s", id_eeprom.vendor_id);
- log_info("product-id: %.32s", id_eeprom.product_id);
- log_info("device-id: %.32s", id_eeprom.device_id);
- log_info("hw-version: %.32s", id_eeprom.hw_version);
- log_info("mac-addr: %02X:%02X:%02X:%02X:%02X:%02X",
+ dev_info(&mts_io_platform_device->dev,"EEPROM-Layout-Version: %u",id_eeprom.eeprom_layout_version);
+ dev_info(&mts_io_platform_device->dev,"sizeof: %lu", (unsigned long) sizeof(struct mts_id_eeprom_layout));
+ dev_info(&mts_io_platform_device->dev,"vendor-id: %.32s", id_eeprom.vendor_id);
+ dev_info(&mts_io_platform_device->dev,"product-id: %.32s", id_eeprom.product_id);
+ dev_info(&mts_io_platform_device->dev,"device-id: %.32s", id_eeprom.device_id);
+ dev_info(&mts_io_platform_device->dev,"hw-version: %.32s", id_eeprom.hw_version);
+ dev_info(&mts_io_platform_device->dev,"mac-addr: %02X:%02X:%02X:%02X:%02X:%02X",
id_eeprom.mac_addr[0],
id_eeprom.mac_addr[1],
id_eeprom.mac_addr[2],
@@ -1344,26 +1349,26 @@ mts_id_eeprom_load(void)
id_eeprom.mac_addr[4],
id_eeprom.mac_addr[5]);
- log_info("imei: %.32s", id_eeprom.imei);
- log_info("capa-gps: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_GPS) ? "yes" : "no");
- log_info("capa-din: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_DIN) ? "yes" : "no");
- log_info("capa-dout: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_DOUT) ? "yes" : "no");
- log_info("capa-adc: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_ADC) ? "yes" : "no");
- log_info("capa-wifi: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_WIFI) ? "yes" : "no");
- log_info("capa-bluetooth: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_BLUETOOTH) ? "yes" : "no");
+ dev_info(&mts_io_platform_device->dev,"imei: %.32s", id_eeprom.imei);
+ dev_info(&mts_io_platform_device->dev,"capa-gps: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_GPS) ? "yes" : "no");
+ dev_info(&mts_io_platform_device->dev,"capa-din: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_DIN) ? "yes" : "no");
+ dev_info(&mts_io_platform_device->dev,"capa-dout: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_DOUT) ? "yes" : "no");
+ dev_info(&mts_io_platform_device->dev,"capa-adc: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_ADC) ? "yes" : "no");
+ dev_info(&mts_io_platform_device->dev,"capa-wifi: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_WIFI) ? "yes" : "no");
+ dev_info(&mts_io_platform_device->dev,"capa-bluetooth: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_BLUETOOTH) ? "yes" : "no");
if ((mts_hw_version != MTCPM_0_0) && (mts_hw_version != MTCPM_0_1) && (mts_hw_version != MTCPM_0_2)) {
/* Moved to mtcdt3b driver in MTCDT3 baseboard hardware */
- log_info("capa-lora: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_LORA) ? "yes" : "no");
- log_info("capa-lora-lbt: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_LORA_LBT) ? "yes" : "no");
+ dev_info(&mts_io_platform_device->dev,"capa-lora: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_LORA) ? "yes" : "no");
+ dev_info(&mts_io_platform_device->dev,"capa-lora-lbt: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_LORA_LBT) ? "yes" : "no");
}
- log_info("capa-battery: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_BATTERY) ? "yes" : "no");
- log_info("capa-supercap: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_SUPERCAP) ? "yes" : "no");
+ dev_info(&mts_io_platform_device->dev,"capa-battery: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_BATTERY) ? "yes" : "no");
+ dev_info(&mts_io_platform_device->dev,"capa-supercap: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_SUPERCAP) ? "yes" : "no");
if(has_cellular_capaflag)
- log_info("capa-cellular: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_CELLULAR) ? "yes" : "no");
- log_info("capa-user-data-encryption: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_USER_DATA_ENCRYPTION) ? "yes" : "no");
+ dev_info(&mts_io_platform_device->dev,"capa-cellular: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_CELLULAR) ? "yes" : "no");
+ dev_info(&mts_io_platform_device->dev,"capa-user-data-encryption: %s", DEVICE_CAPA(id_eeprom.capa, CAPA_USER_DATA_ENCRYPTION) ? "yes" : "no");
if (DEVICE_CAPA(id_eeprom.capa, CAPA_BLUETOOTH)) {
- log_info("mac-bluetooth: %02X:%02X:%02X:%02X:%02X:%02X",
+ dev_info(&mts_io_platform_device->dev,"mac-bluetooth: %02X:%02X:%02X:%02X:%02X:%02X",
id_eeprom.mac_bluetooth[0],
id_eeprom.mac_bluetooth[1],
id_eeprom.mac_bluetooth[2],
@@ -1372,7 +1377,7 @@ mts_id_eeprom_load(void)
id_eeprom.mac_bluetooth[5]);
}
if (DEVICE_CAPA(id_eeprom.capa, CAPA_WIFI)) {
- log_info("mac-wifi: %02X:%02X:%02X:%02X:%02X:%02X",
+ dev_info(&mts_io_platform_device->dev,"mac-wifi: %02X:%02X:%02X:%02X:%02X:%02X",
id_eeprom.mac_wifi[0],
id_eeprom.mac_wifi[1],
id_eeprom.mac_wifi[2],
@@ -1385,10 +1390,10 @@ mts_id_eeprom_load(void)
for(i = 0; i < 16; i++) {
ptr += sprintf(ptr, "%02X", id_eeprom.uuid[i]);
}
- log_info("uuid: %s", (char*)buf);
+ dev_info(&mts_io_platform_device->dev,"uuid: %s", (char*)buf);
if (DEVICE_CAPA(id_eeprom.capa, CAPA_LORA)) {
- log_info("lora-eui: %02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X",
+ dev_info(&mts_io_platform_device->dev,"lora-eui: %02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X",
id_eeprom.lora_eui[0],
id_eeprom.lora_eui[1],
id_eeprom.lora_eui[2],
@@ -1398,19 +1403,19 @@ mts_id_eeprom_load(void)
id_eeprom.lora_eui[6],
id_eeprom.lora_eui[7]);
- log_info("lora-product-id: %.32s", id_eeprom.lora_product_id);
- log_info("lora-hw-version: %.32s", id_eeprom.lora_hw_version);
+ dev_info(&mts_io_platform_device->dev,"lora-product-id: %.32s", id_eeprom.lora_product_id);
+ dev_info(&mts_io_platform_device->dev,"lora-hw-version: %.32s", id_eeprom.lora_hw_version);
}
#ifdef MTRE
- log_info("oem-string1: %.32s", id_eeprom.oem_string1);
- log_info("oem-string2: %.32s", id_eeprom.oem_string2);
+ dev_info(&mts_io_platform_device->dev,"oem-string1: %.32s", id_eeprom.oem_string1);
+ dev_info(&mts_io_platform_device->dev,"oem-string2: %.32s", id_eeprom.oem_string2);
#endif
return 0;
}
static void cleanup(void)
{
- printk(KERN_INFO "mts-io: cleaning up....");
+ dev_info(&mts_io_platform_device->dev,"mts-io: cleaning up....");
if (mts_io_platform_device != NULL && attr_group != NULL) {
sysfs_remove_group(&mts_io_platform_device->dev.kobj, attr_group);
@@ -1438,13 +1443,13 @@ static int __init mts_io_init(void)
int ret;
- log_info("init: " VERSION);
+ dev_info(&mts_io_platform_device->dev,"mts-io init: " VERSION);
/* We do a platform_driver_register to do a probe
* of device tree and set the pinctrl/gpio settings. */
ret = platform_driver_register(&mts_io_driver);
if (ret) {
- printk(KERN_ERR "mts-io: probe failed: %d\n", ret);
+ dev_err(&mts_io_platform_device->dev,"mts-io: probe failed: %d\n", ret);
cleanup();
return ret;
}
@@ -1452,7 +1457,7 @@ static int __init mts_io_init(void)
/* Without a platform device our EEPROM load will
* not work, and we cannot continue. */
if (mts_io_platform_device == NULL) {
- pr_err("mts-io: probe failed, possible bad device tree\n");
+ dev_err(&mts_io_platform_device->dev,"mts-io: probe failed, possible bad device tree\n");
return -ENODEV;
}
@@ -1467,18 +1472,18 @@ static int __init mts_io_init(void)
if (DEVICE_CAPA(id_eeprom.capa, CAPA_DOUT)) {
ret = spi_register_driver(&mts_spi_dout_driver);
if (ret) {
- printk(KERN_ERR "mts-io:mts-io-dout: probe failed: %d\n", ret);
+ dev_err(&mts_io_platform_device->dev,"mts-io:mts-io-dout: probe failed: %d\n", ret);
}
}
if (DEVICE_CAPA(id_eeprom.capa, CAPA_DIN)) {
ret = spi_register_driver(&mts_spi_din_driver);
if (ret) {
- printk(KERN_ERR "mts-io:mts-io-din: probe failed: %d\n", ret);
+ dev_err(&mts_io_platform_device->dev,"mts-io:mts-io-din: probe failed: %d\n", ret);
}
}
ret = spi_register_driver(&mts_spi_board_temp_driver);
if (ret) {
- printk(KERN_ERR "mts-io:mts-io-board-temp: probe failed: %d\n", ret);
+ dev_err(&mts_io_platform_device->dev,"mts-io:mts-io-board-temp: probe failed: %d\n", ret);
}
if (DEVICE_CAPA(id_eeprom.capa, CAPA_LORA) && attr_group_lora) {
@@ -1556,6 +1561,8 @@ static void __exit mts_io_exit(void)
int old_last = 0;
int i,found;
struct gpio_pin *pin;
+ struct device *dev = &mts_io_platform_device->dev;
+
if (DEVICE_CAPA(id_eeprom.capa, CAPA_DOUT)) {
spi_unregister_driver(&mts_spi_dout_driver);
}
@@ -1572,16 +1579,16 @@ static void __exit mts_io_exit(void)
for (pin = gpio_pins; *pin->name; pin++) {
if (pin->capability == 0 || DEVICE_CAPA(id_eeprom.capa,pin->capability)) {
if (pin->do_gpio_desc) {
- dev_dbg(&mts_io_platform_device->dev,"Kernel removes when module is unloaded: GPIO descriptor case: pin->name=%s\n",
+ dev_dbg(dev,"Kernel removes when module is unloaded: GPIO descriptor case: pin->name=%s\n",
pin->name);
} else {
// TODO: Remove this code when the last pin is converted to the new GPIO model
- dev_dbg(&mts_io_platform_device->dev,"Deprecated GPIO pin # case: pin->name=%s\n",
+ dev_dbg(dev,"Deprecated GPIO pin # case: pin->name=%s\n",
pin->name);
found = 0;
for(i=0; i<old_last; i++) {
if (pin->pin.gpio == old_pin[i]) {
- dev_dbg(&mts_io_platform_device->dev,"Deprecated GPIO pin #, skipping free of: pin->name=%s\n",
+ dev_dbg(dev,"Deprecated GPIO pin #, skipping free of: pin->name=%s\n",
pin->name);
found = 1;
break;
@@ -1606,7 +1613,7 @@ static void __exit mts_io_exit(void)
}
cleanup();
-
+ // platform device does not exist
if (mts_leds) {
mts_leds_unregister();
}
@@ -1614,7 +1621,7 @@ static void __exit mts_io_exit(void)
if (DEVICE_CAPA(id_eeprom.capa, CAPA_LORA) && attr_group_lora) {
mts_teardown_lora_port();
}
- printk(KERN_INFO "mts-io exiting");
+ printk(KERN_INFO "mts-io exiting dev");
}
module_init(mts_io_init);