Store name in SapphireGPUControllers to avoid setting it in detectors

master
Adam Honse 9 months ago
parent 9680d072fa
commit 46d935c1a4

@ -62,9 +62,8 @@ void DetectSapphireV1Controllers(i2c_smbus_interface* bus, uint8_t i2c_addr, con
{ {
if(TestForSapphireGPUController(bus, i2c_addr)) if(TestForSapphireGPUController(bus, i2c_addr))
{ {
SapphireNitroGlowV1Controller* new_sapphire_gpu = new SapphireNitroGlowV1Controller(bus, i2c_addr); SapphireNitroGlowV1Controller* new_sapphire_gpu = new SapphireNitroGlowV1Controller(bus, i2c_addr, name);
RGBController_SapphireNitroGlowV1* new_controller = new RGBController_SapphireNitroGlowV1(new_sapphire_gpu); RGBController_SapphireNitroGlowV1* new_controller = new RGBController_SapphireNitroGlowV1(new_sapphire_gpu);
new_controller->name = name;
ResourceManager::get()->RegisterRGBController(new_controller); ResourceManager::get()->RegisterRGBController(new_controller);
} }
@ -74,9 +73,8 @@ void DetectSapphireV3Controllers(i2c_smbus_interface* bus, uint8_t i2c_addr, con
{ {
if(TestForSapphireGPUController(bus, i2c_addr)) if(TestForSapphireGPUController(bus, i2c_addr))
{ {
SapphireNitroGlowV3Controller* new_sapphire_gpu = new SapphireNitroGlowV3Controller(bus, i2c_addr); SapphireNitroGlowV3Controller* new_sapphire_gpu = new SapphireNitroGlowV3Controller(bus, i2c_addr, name);
RGBController_SapphireNitroGlowV3* new_controller = new RGBController_SapphireNitroGlowV3(new_sapphire_gpu); RGBController_SapphireNitroGlowV3* new_controller = new RGBController_SapphireNitroGlowV3(new_sapphire_gpu);
new_controller->name = name;
ResourceManager::get()->RegisterRGBController(new_controller); ResourceManager::get()->RegisterRGBController(new_controller);
} }
@ -111,4 +109,4 @@ REGISTER_I2C_PCI_DETECTOR("Sapphire Radeon RX 7900 GRE Nitro+",
REGISTER_I2C_PCI_DETECTOR("Sapphire Radeon RX 7900 XTX Nitro+", DetectSapphireV3Controllers, AMD_GPU_VEN, AMD_NAVI31_DEV, SAPPHIRE_SUB_VEN, SAPPHIRE_NAVI31_NITRO_PLUS_SUB_DEV, SAPPHIRE_NITRO_GLOW_V3_ADDR); REGISTER_I2C_PCI_DETECTOR("Sapphire Radeon RX 7900 XTX Nitro+", DetectSapphireV3Controllers, AMD_GPU_VEN, AMD_NAVI31_DEV, SAPPHIRE_SUB_VEN, SAPPHIRE_NAVI31_NITRO_PLUS_SUB_DEV, SAPPHIRE_NITRO_GLOW_V3_ADDR);
REGISTER_I2C_PCI_DETECTOR("Sapphire Radeon RX 9070 Pure", DetectSapphireV3Controllers, AMD_GPU_VEN, AMD_NAVI48_DEV, SAPPHIRE_SUB_VEN, SAPPHIRE_NAVI48_PURE_SUB_DEV, SAPPHIRE_NITRO_GLOW_V3_ADDR); REGISTER_I2C_PCI_DETECTOR("Sapphire Radeon RX 9070 Pure", DetectSapphireV3Controllers, AMD_GPU_VEN, AMD_NAVI48_DEV, SAPPHIRE_SUB_VEN, SAPPHIRE_NAVI48_PURE_SUB_DEV, SAPPHIRE_NITRO_GLOW_V3_ADDR);
REGISTER_I2C_PCI_DETECTOR("Sapphire Radeon RX 9070 XT Nitro+", DetectSapphireV3Controllers, AMD_GPU_VEN, AMD_NAVI48_DEV, SAPPHIRE_SUB_VEN, SAPPHIRE_NAVI48_NITRO_PLUS_SUB_DEV, SAPPHIRE_NITRO_GLOW_V3_ADDR); REGISTER_I2C_PCI_DETECTOR("Sapphire Radeon RX 9070 XT Nitro+", DetectSapphireV3Controllers, AMD_GPU_VEN, AMD_NAVI48_DEV, SAPPHIRE_SUB_VEN, SAPPHIRE_NAVI48_NITRO_PLUS_SUB_DEV, SAPPHIRE_NITRO_GLOW_V3_ADDR);
REGISTER_I2C_PCI_DETECTOR("Sapphire Radeon RX 9070 XT Pure", DetectSapphireV3Controllers, AMD_GPU_VEN, AMD_NAVI48_DEV, SAPPHIRE_SUB_VEN, SAPPHIRE_NAVI48_PURE_XT_SUB_DEV, SAPPHIRE_NITRO_GLOW_V3_ADDR); REGISTER_I2C_PCI_DETECTOR("Sapphire Radeon RX 9070 XT Pure", DetectSapphireV3Controllers, AMD_GPU_VEN, AMD_NAVI48_DEV, SAPPHIRE_SUB_VEN, SAPPHIRE_NAVI48_PURE_XT_SUB_DEV, SAPPHIRE_NITRO_GLOW_V3_ADDR);

@ -26,7 +26,7 @@ RGBController_SapphireNitroGlowV1::RGBController_SapphireNitroGlowV1(SapphireNit
{ {
controller = controller_ptr; controller = controller_ptr;
name = "Sapphire Nitro Glow V1 Device"; name = controller->GetDeviceName();
vendor = "Sapphire"; vendor = "Sapphire";
description = "Sapphire Nitro Glow V1 Device"; description = "Sapphire Nitro Glow V1 Device";
location = controller->GetDeviceLocation(); location = controller->GetDeviceLocation();

@ -11,10 +11,11 @@
#include "SapphireNitroGlowV1Controller.h" #include "SapphireNitroGlowV1Controller.h"
SapphireNitroGlowV1Controller::SapphireNitroGlowV1Controller(i2c_smbus_interface* bus, sapphire_dev_id dev) SapphireNitroGlowV1Controller::SapphireNitroGlowV1Controller(i2c_smbus_interface* bus, sapphire_dev_id dev, std::string dev_name)
{ {
this->bus = bus; this->bus = bus;
this->dev = dev; this->dev = dev;
this->name = dev_name;
} }
SapphireNitroGlowV1Controller::~SapphireNitroGlowV1Controller() SapphireNitroGlowV1Controller::~SapphireNitroGlowV1Controller()
@ -32,6 +33,11 @@ std::string SapphireNitroGlowV1Controller::GetDeviceLocation()
return("I2C: " + return_string); return("I2C: " + return_string);
} }
std::string SapphireNitroGlowV1Controller::GetDeviceName()
{
return(name);
}
unsigned char SapphireNitroGlowV1Controller::GetRed() unsigned char SapphireNitroGlowV1Controller::GetRed()
{ {
return(bus->i2c_smbus_read_byte_data(dev, SAPPHIRE_NITRO_GLOW_V1_REG_RED)); return(bus->i2c_smbus_read_byte_data(dev, SAPPHIRE_NITRO_GLOW_V1_REG_RED));

@ -41,10 +41,11 @@ enum
class SapphireNitroGlowV1Controller class SapphireNitroGlowV1Controller
{ {
public: public:
SapphireNitroGlowV1Controller(i2c_smbus_interface* bus, sapphire_dev_id dev); SapphireNitroGlowV1Controller(i2c_smbus_interface* bus, sapphire_dev_id dev, std::string dev_name);
~SapphireNitroGlowV1Controller(); ~SapphireNitroGlowV1Controller();
std::string GetDeviceLocation(); std::string GetDeviceLocation();
std::string GetDeviceName();
unsigned char GetRed(); unsigned char GetRed();
unsigned char GetGreen(); unsigned char GetGreen();
@ -61,5 +62,5 @@ public:
private: private:
i2c_smbus_interface* bus; i2c_smbus_interface* bus;
sapphire_dev_id dev; sapphire_dev_id dev;
std::string name;
}; };

@ -26,7 +26,7 @@ RGBController_SapphireNitroGlowV3::RGBController_SapphireNitroGlowV3(SapphireNit
{ {
controller = controller_ptr; controller = controller_ptr;
name = "Sapphire Nitro Glow V3 Device"; name = controller->GetDeviceName();
vendor = "Sapphire"; vendor = "Sapphire";
description = "Sapphire Nitro Glow V3 Device"; description = "Sapphire Nitro Glow V3 Device";
location = controller->GetDeviceLocation(); location = controller->GetDeviceLocation();

@ -11,10 +11,11 @@
#include "SapphireNitroGlowV3Controller.h" #include "SapphireNitroGlowV3Controller.h"
SapphireNitroGlowV3Controller::SapphireNitroGlowV3Controller(i2c_smbus_interface* bus, sapphire_dev_id dev) SapphireNitroGlowV3Controller::SapphireNitroGlowV3Controller(i2c_smbus_interface* bus, sapphire_dev_id dev, std::string dev_name)
{ {
this->bus = bus; this->bus = bus;
this->dev = dev; this->dev = dev;
this->name = dev_name;
} }
SapphireNitroGlowV3Controller::~SapphireNitroGlowV3Controller() SapphireNitroGlowV3Controller::~SapphireNitroGlowV3Controller()
@ -32,6 +33,11 @@ std::string SapphireNitroGlowV3Controller::GetDeviceLocation()
return("I2C: " + return_string); return("I2C: " + return_string);
} }
std::string SapphireNitroGlowV3Controller::GetDeviceName()
{
return(name);
}
unsigned char SapphireNitroGlowV3Controller::GetRed() unsigned char SapphireNitroGlowV3Controller::GetRed()
{ {
return(bus->i2c_smbus_read_byte_data(dev, SAPPHIRE_NITRO_GLOW_V3_REG_RED)); return(bus->i2c_smbus_read_byte_data(dev, SAPPHIRE_NITRO_GLOW_V3_REG_RED));

@ -48,10 +48,11 @@ enum
class SapphireNitroGlowV3Controller class SapphireNitroGlowV3Controller
{ {
public: public:
SapphireNitroGlowV3Controller(i2c_smbus_interface* bus, sapphire_dev_id dev); SapphireNitroGlowV3Controller(i2c_smbus_interface* bus, sapphire_dev_id dev, std::string dev_name);
~SapphireNitroGlowV3Controller(); ~SapphireNitroGlowV3Controller();
std::string GetDeviceLocation(); std::string GetDeviceLocation();
std::string GetDeviceName();
unsigned char GetRed(); unsigned char GetRed();
unsigned char GetGreen(); unsigned char GetGreen();
@ -86,5 +87,5 @@ public:
private: private:
i2c_smbus_interface* bus; i2c_smbus_interface* bus;
sapphire_dev_id dev; sapphire_dev_id dev;
std::string name;
}; };

Loading…
Cancel
Save