static int wifi_calibration_read_proc(struct file *file, char __user *buf, size_t size, loff_t *ppos) { unsigned char *ptr; unsigned int count = size; unsigned int len = 0; unsigned long p = *ppos; int ret = 0; len = wifi_get_nvs_size(); if (p >= len) return 0; if (count > len - p) count = len - p; ptr = get_wifi_nvs_ram(); if (ptr != NULL) { if (copy_to_user(buf, (void*)(ptr+NVS_DATA_OFFSET+p), count)) { ret = - EFAULT; printk("wifi_calibration_read_proc: FAIL to copy \n"); } else { *ppos += count; ret = count; } } else { ret = - EFAULT; printk("wifi_calibration_read_proc: ptr is null \n"); } return ret; }
static int __init wifi_nvs_init(void) { wifi_calibration = create_proc_entry("calibration", 0444, NULL); if (wifi_calibration != NULL) { wifi_calibration->size = wifi_get_nvs_size(); wifi_calibration->read_proc = wifi_calibration_read_proc; wifi_calibration->write_proc = NULL; } return 0; }
int htc_get_wifi_calibration(char *buf, int count) { unsigned char *ptr; unsigned len; ptr = get_wifi_nvs_ram(); len = min(wifi_get_nvs_size(), (unsigned) count); memcpy(buf, ptr + NVS_DATA_OFFSET, len); return len; }
static int wifi_calibration_read_proc(char *page, char **start, off_t off, int count, int *eof, void *data) { unsigned char *ptr; unsigned len; ptr = get_wifi_nvs_ram(); len = min(wifi_get_nvs_size(), (unsigned)count); memcpy(page, ptr + NVS_DATA_OFFSET, len); return len; }
static int __init wifi_nvs_init(void) { wifi_calibration = create_proc_entry("calibration", 0444, NULL); if (wifi_calibration != NULL) { wifi_calibration->size = wifi_get_nvs_size(); wifi_calibration->read_proc = wifi_calibration_read_proc; wifi_calibration->write_proc = NULL; } wifi_data = create_proc_entry("wifi_data", 0444, NULL); if (wifi_data != NULL) { wifi_data->size = NVS_DATA_OFFSET; wifi_data->read_proc = wifi_data_read_proc; wifi_data->write_proc = NULL; } return 0; }
static int __init wifi_nvs_init(void) { #ifdef CONFIG_WIFI_NVS_PROC_CREATE wifi_calibration = create_proc_entry("calibration", 0444, NULL); if (wifi_calibration != NULL) { wifi_calibration->size = wifi_get_nvs_size(); wifi_calibration->read_proc = wifi_calibration_read_proc; wifi_calibration->write_proc = NULL; } #endif wifi_data = create_proc_entry("wifi_data", 0444, NULL); if (wifi_data != NULL) { wifi_data->size = NVS_DATA_OFFSET; wifi_data->read_proc = wifi_data_read_proc; wifi_data->write_proc = NULL; } return 0; }
static int __init wifi_nvs_init(void) { // New create proc method for kernel 3.10. wifi_calibration = proc_create_data("calibration", 0444, NULL, &htc_cal_partition_fops, NULL); if (wifi_calibration == NULL) { printk("%s: unable to create /proc/calibration entry\n", __func__); } else { wifi_calibration->size = wifi_get_nvs_size(); } wifi_data = proc_create_data("wifi_data", 0444, NULL, &htc_wifi_data_partition_fops, NULL); if (wifi_data == NULL) { printk("%s: unable to create /proc/wifi_data entry\n", __func__); } else { wifi_data->size = NVS_DATA_OFFSET; } return 0; }
static int wifi_calibration_read_proc(char *page, char **start, off_t off, int count, int *eof, void *data) { unsigned char *ptr; unsigned len; #ifdef NVS_MSM_WIFI_DEBUG unsigned i; #endif memcpy(page, nvs_mac_addr, NVS_MACADDR_SIZE); ptr = get_wifi_nvs_ram(); len = min(wifi_get_nvs_size(), (unsigned)count); memcpy(page+NVS_MACADDR_SIZE, ptr, strlen(hardcoded_nvs)); #ifdef NVS_MSM_WIFI_DEBUG printk("WiFi Data len = %d \n", len); for(i=0;( i < len );i++) { printk("%c", *page++); } #endif return len; }
int wifi_calibration_size_set(void) { if (wifi_calibration != NULL) wifi_calibration->size = wifi_get_nvs_size(); return 0; }