Use resource manager to register I2C interfaces and log them
This commit is contained in:
parent
ec90f4678b
commit
69cb7a0d9e
8 changed files with 20 additions and 19 deletions
|
|
@ -74,7 +74,8 @@ ResourceManager::~ResourceManager()
|
|||
|
||||
void ResourceManager::RegisterI2CBus(i2c_smbus_interface *bus)
|
||||
{
|
||||
LOG_NOTICE("Registering an I2C bus: %s", bus->device_name);
|
||||
std::string bus_name = bus->device_name;
|
||||
LOG_NOTICE("Registering I2C interface: %s", bus_name.c_str());
|
||||
busses.push_back(bus);
|
||||
}
|
||||
|
||||
|
|
@ -486,20 +487,20 @@ void ResourceManager::DetectDevicesThreadFunction()
|
|||
detection_percent = 0;
|
||||
|
||||
/*-------------------------------------------------*\
|
||||
| Detect i2c busses |
|
||||
| Detect i2c interfaces |
|
||||
\*-------------------------------------------------*/
|
||||
LOG_NOTICE("Detecting I2C/SMBus busses");
|
||||
LOG_NOTICE("Detecting I2C interfaces");
|
||||
|
||||
for(unsigned int i2c_bus_detector_idx = 0; i2c_bus_detector_idx < i2c_bus_detectors.size() && detection_is_required.load(); i2c_bus_detector_idx++)
|
||||
{
|
||||
i2c_bus_detectors[i2c_bus_detector_idx](busses);
|
||||
i2c_bus_detectors[i2c_bus_detector_idx]();
|
||||
I2CBusListChanged();
|
||||
}
|
||||
|
||||
/*-------------------------------------------------*\
|
||||
| Detect i2c devices |
|
||||
\*-------------------------------------------------*/
|
||||
LOG_NOTICE("Detecting I2C/SMBus devices");
|
||||
LOG_NOTICE("Detecting I2C devices");
|
||||
|
||||
for(unsigned int i2c_detector_idx = 0; i2c_detector_idx < i2c_device_detectors.size() && detection_is_required.load(); i2c_detector_idx++)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
struct hid_device_info;
|
||||
|
||||
typedef std::function<void(std::vector<i2c_smbus_interface*>&)> I2CBusDetectorFunction;
|
||||
typedef std::function<void()> I2CBusDetectorFunction;
|
||||
typedef std::function<void(std::vector<RGBController*>&)> DeviceDetectorFunction;
|
||||
typedef std::function<void(std::vector<i2c_smbus_interface*>&)> I2CDeviceDetectorFunction;
|
||||
typedef std::function<void(hid_device_info*, const std::string&)> HIDDeviceDetectorFunction;
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ s32 i2c_smbus_amdadl::i2c_smbus_xfer(u8 addr, char read_write, u8 command, int s
|
|||
|
||||
#include "Detector.h"
|
||||
|
||||
void i2c_smbus_amdadl_detect(std::vector<i2c_smbus_interface*> &busses)
|
||||
void i2c_smbus_amdadl_detect()
|
||||
{
|
||||
int adl_status;
|
||||
int gpu_count = 0;
|
||||
|
|
@ -193,7 +193,7 @@ void i2c_smbus_amdadl_detect(std::vector<i2c_smbus_interface*> &busses)
|
|||
else
|
||||
{
|
||||
i2c_smbus_amdadl * adl_bus = new i2c_smbus_amdadl(context);
|
||||
busses.push_back(adl_bus);
|
||||
ResourceManager::get()->RegisterI2CBus(adl_bus);
|
||||
}
|
||||
}
|
||||
} /* DetectAMDADLI2CBusses() */
|
||||
|
|
|
|||
|
|
@ -486,7 +486,7 @@ s32 i2c_smbus_i801::i2c_smbus_xfer(u8 addr, char read_write, u8 command, int siz
|
|||
#include "Detector.h"
|
||||
#include "wmi.h"
|
||||
|
||||
void i2c_smbus_i801_detect(std::vector<i2c_smbus_interface*> &busses)
|
||||
void i2c_smbus_i801_detect()
|
||||
{
|
||||
i2c_smbus_interface * bus;
|
||||
HRESULT hres;
|
||||
|
|
@ -553,7 +553,7 @@ void i2c_smbus_i801_detect(std::vector<i2c_smbus_interface*> &busses)
|
|||
bus->pci_subsystem_device = sbd_id;
|
||||
strcpy(bus->device_name, i["Description"].c_str());
|
||||
((i2c_smbus_i801 *)bus)->i801_smba = IORangeStart;
|
||||
busses.push_back(bus);
|
||||
ResourceManager::get()->RegisterI2CBus(bus);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ s32 i2c_smbus_linux::i2c_smbus_xfer(u8 addr, char read_write, u8 command, int si
|
|||
#include <dirent.h>
|
||||
#include <string.h>
|
||||
|
||||
void i2c_smbus_linux_detect(std::vector<i2c_smbus_interface*> &busses)
|
||||
void i2c_smbus_linux_detect()
|
||||
{
|
||||
i2c_smbus_linux * bus;
|
||||
char device_string[1024];
|
||||
|
|
@ -154,7 +154,7 @@ void i2c_smbus_linux_detect(std::vector<i2c_smbus_interface*> &busses)
|
|||
bus->pci_subsystem_device = pci_subsystem_device;
|
||||
bus->pci_subsystem_vendor = pci_subsystem_vendor;
|
||||
bus->port_id = port_id;
|
||||
busses.push_back(bus);
|
||||
ResourceManager::get()->RegisterI2CBus(bus);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ s32 i2c_smbus_nct6775::i2c_smbus_xfer(u8 addr, char read_write, u8 command, int
|
|||
#include "Detector.h"
|
||||
#include "super_io.h"
|
||||
|
||||
void i2c_smbus_nct6775_detect(std::vector<i2c_smbus_interface*> &busses)
|
||||
void i2c_smbus_nct6775_detect()
|
||||
{
|
||||
i2c_smbus_interface* bus;
|
||||
int sioaddr = 0x2E;
|
||||
|
|
@ -240,7 +240,7 @@ void i2c_smbus_nct6775_detect(std::vector<i2c_smbus_interface*> &busses)
|
|||
break;
|
||||
}
|
||||
|
||||
busses.push_back(bus);
|
||||
ResourceManager::get()->RegisterI2CBus(bus);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ s32 i2c_smbus_nvapi::i2c_smbus_xfer(u8 addr, char read_write, u8 command, int si
|
|||
|
||||
#include "Detector.h"
|
||||
|
||||
void i2c_smbus_nvapi_detect(std::vector<i2c_smbus_interface*> &busses)
|
||||
void i2c_smbus_nvapi_detect()
|
||||
{
|
||||
static NV_PHYSICAL_GPU_HANDLE gpu_handles[64];
|
||||
static NV_S32 gpu_count = 0;
|
||||
|
|
@ -129,7 +129,7 @@ void i2c_smbus_nvapi_detect(std::vector<i2c_smbus_interface*> &busses)
|
|||
nvapi_bus->port_id = 1;
|
||||
}
|
||||
|
||||
busses.push_back(nvapi_bus);
|
||||
ResourceManager::get()->RegisterI2CBus(nvapi_bus);
|
||||
}
|
||||
} /* DetectNvAPII2CBusses() */
|
||||
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ s32 i2c_smbus_piix4::i2c_smbus_xfer(u8 addr, char read_write, u8 command, int si
|
|||
#include "Detector.h"
|
||||
#include "wmi.h"
|
||||
|
||||
void i2c_smbus_piix4_detect(std::vector<i2c_smbus_interface*> &busses)
|
||||
void i2c_smbus_piix4_detect()
|
||||
{
|
||||
i2c_smbus_interface * bus;
|
||||
HRESULT hres;
|
||||
|
|
@ -229,7 +229,7 @@ void i2c_smbus_piix4_detect(std::vector<i2c_smbus_interface*> &busses)
|
|||
strcpy(bus->device_name, i["Description"].c_str());
|
||||
strcat(bus->device_name, " at 0x0B00");
|
||||
((i2c_smbus_piix4 *)bus)->piix4_smba = 0x0B00;
|
||||
busses.push_back(bus);
|
||||
ResourceManager::get()->RegisterI2CBus(bus);
|
||||
|
||||
bus = new i2c_smbus_piix4();
|
||||
bus->pci_vendor = ven_id;
|
||||
|
|
@ -239,7 +239,7 @@ void i2c_smbus_piix4_detect(std::vector<i2c_smbus_interface*> &busses)
|
|||
((i2c_smbus_piix4 *)bus)->piix4_smba = 0x0B20;
|
||||
strcpy(bus->device_name, i["Description"].c_str());
|
||||
strcat(bus->device_name, " at 0x0B20");
|
||||
busses.push_back(bus);
|
||||
ResourceManager::get()->RegisterI2CBus(bus);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue