Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ixr7250x4/modules/Makefile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
obj-m := psu_x3b.o psu_eeprom.o fan_eeprom.o fan_led.o max31790_wd.o
obj-m := psu_verm.o psu_verm_eeprom.o fan_verm_eeprom.o fan_verm_led.o max31790_wd.o
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#include <linux/mutex.h>
#include <linux/delay.h>

#define EEPROM_NAME "fan_eeprom"
#define EEPROM_NAME "fan_verm_eeprom"
#define EEPROM_LEN 128
#define FIELD_LEN_MAX 16

Expand Down Expand Up @@ -74,64 +74,64 @@ static int decode_eeprom(struct i2c_client *client)
{
struct menuee_data *ee_data = i2c_get_clientdata(client);
int i = 0;
int len;
int cpylen;
u8 len = 0;
int cpylen = 0;

while (i < EEPROM_LEN) {
switch (ee_data->eeprom[i]) {
case kEeCleiCode:
i++;
len = ee_data->eeprom[i++];
if (len <= FIELD_LEN_MAX)
if (len < FIELD_LEN_MAX)
cpylen = len;
else
cpylen = FIELD_LEN_MAX;
else
cpylen = FIELD_LEN_MAX - 1;
memcpy(&ee_data->clei[0], &ee_data->eeprom[i], cpylen);
ee_data->clei[len] = 0;
ee_data->clei[cpylen] = 0;
i += len;
break;
case kMfgDate:
i++;
len = ee_data->eeprom[i++];
if (len <= FIELD_LEN_MAX)
if (len < FIELD_LEN_MAX)
cpylen = len;
else
cpylen = FIELD_LEN_MAX;
else
cpylen = FIELD_LEN_MAX - 1;
memcpy(&ee_data->mfg_date[0], &ee_data->eeprom[i], cpylen);
ee_data->mfg_date[len] = 0;
ee_data->mfg_date[cpylen] = 0;
i += len;
break;
case kMfgSerialNum:
i++;
len = ee_data->eeprom[i++];
if (len <= FIELD_LEN_MAX)
if (len < FIELD_LEN_MAX)
cpylen = len;
else
cpylen = FIELD_LEN_MAX;
else
cpylen = FIELD_LEN_MAX - 1;
memcpy(&ee_data->serial_number[0], &ee_data->eeprom[i], cpylen);
ee_data->serial_number[len] = 0;
ee_data->serial_number[cpylen] = 0;
i += len;
break;
case kMfgPartNum:
i++;
len = ee_data->eeprom[i++];
if (len <= FIELD_LEN_MAX)
if (len < FIELD_LEN_MAX)
cpylen = len;
else
cpylen = FIELD_LEN_MAX;
else
cpylen = FIELD_LEN_MAX - 1;
memcpy(&ee_data->part_number[0], &ee_data->eeprom[i], cpylen);
ee_data->part_number[len] = 0;
ee_data->part_number[cpylen] = 0;
i += len;
break;
case kMfgAssemblyNum:
i++;
len = ee_data->eeprom[i++];
if (len <= FIELD_LEN_MAX)
if (len < FIELD_LEN_MAX)
cpylen = len;
else
cpylen = FIELD_LEN_MAX;
else
cpylen = FIELD_LEN_MAX - 1;
memcpy(&ee_data->assembly_num[0], &ee_data->eeprom[i], cpylen);
ee_data->assembly_num[len] = 0;
ee_data->assembly_num[cpylen] = 0;
i += len;
break;
case kHwDirectives:
Expand Down Expand Up @@ -171,7 +171,7 @@ static ssize_t eeprom_show(struct device *dev, struct device_attribute *devattr,
{
struct menuee_data *data = dev_get_drvdata(dev);
int i = 0;
int len;
int len = 0;
for (i = 0; i < EEPROM_LEN; i++) {
if (data->eeprom[i] == 0)
len += sprintf(buf + len, ".");
Expand Down Expand Up @@ -272,7 +272,6 @@ static int eeprom_probe(struct i2c_client *client)
return -ENOMEM;
}

//data->client = client;
i2c_set_clientdata(client, data);
mutex_init(&data->lock);

Expand Down Expand Up @@ -314,12 +313,12 @@ static struct i2c_driver eeprom_driver = {
.address_list = normal_i2c,
};

static int __init fan_eeprom_init(void)
static int __init fan_verm_eeprom_init(void)
{
return i2c_add_driver(&eeprom_driver);
}

static void __exit fan_eeprom_exit(void)
static void __exit fan_verm_eeprom_exit(void)
{
i2c_del_driver(&eeprom_driver);
}
Expand All @@ -328,5 +327,5 @@ MODULE_DESCRIPTION("FAN eeprom sysfs driver");
MODULE_AUTHOR("Nokia");
MODULE_LICENSE("GPL");

module_init(fan_eeprom_init);
module_exit(fan_eeprom_exit);
module_init(fan_verm_eeprom_init);
module_exit(fan_verm_eeprom_exit);
24 changes: 13 additions & 11 deletions ixr7250x4/modules/fan_led.c → ixr7250x4/modules/fan_verm_led.c
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Nokia 7250-IXR X Fan LED Driver
*
* Copyright (C) 2024 Nokia
*
*/
*
* Copyright (C) 2024 Nokia
*
*/

#include <linux/module.h>
#include <linux/init.h>
Expand All @@ -14,7 +14,7 @@
#include <linux/device.h>
#include <linux/mutex.h>

#define DRIVER_NAME "fan_led"
#define DRIVER_NAME "fan_verm_led"

// REGISTERS ADDRESS MAP
#define REG_MODE1 0x0
Expand Down Expand Up @@ -127,7 +127,7 @@ static int fan_led_probe(struct i2c_client *client)
if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) {
dev_err(&client->dev, "Fan_LED PROBE ERROR: i2c_check_functionality failed (0x%x)\n", client->addr);
status = -EIO;
goto exit;
goto exit;
}

dev_info(&client->dev, "Nokia Fan_LED driver found.\n");
Expand All @@ -146,7 +146,7 @@ static int fan_led_probe(struct i2c_client *client)
status = sysfs_create_group(&client->dev.kobj, &fan_led_group);
if (status) {
dev_err(&client->dev, "Fan_LED INIT ERROR: Cannot create sysfs\n");
goto exit;
goto exit_sysfs_create_group;
}

set_mode(data);
Expand All @@ -160,6 +160,8 @@ static int fan_led_probe(struct i2c_client *client)

return 0;

exit_sysfs_create_group:
kfree(data);
exit:
return status;
}
Expand Down Expand Up @@ -187,12 +189,12 @@ static struct i2c_driver fan_led_driver = {
.address_list = led_address_list,
};

static int __init fan_led_init(void)
static int __init fan_verm_led_init(void)
{
return i2c_add_driver(&fan_led_driver);
}

static void __exit fan_led_exit(void)
static void __exit fan_verm_led_exit(void)
{
i2c_del_driver(&fan_led_driver);
}
Expand All @@ -201,5 +203,5 @@ MODULE_AUTHOR("Nokia");
MODULE_DESCRIPTION("NOKIA Fan LED driver");
MODULE_LICENSE("GPL");

module_init(fan_led_init);
module_exit(fan_led_exit);
module_init(fan_verm_led_init);
module_exit(fan_verm_led_exit);
Loading
Loading