IBASE MRS-801-RE User Manual

Page 76

Advertising
background image

68

MRS-801-RE User Manual

#include "i2cbusses.h"

#include <linux/i2c-dev.h>

enum adt { adt_dummy, adt_isa, adt_i2c, adt_smbus, adt_unknown };

struct adap_type {

const char *funcs;

const char* algo;

};

static struct adap_type adap_types[5] = {

{ .funcs = "dummy",

.algo = "Dummy bus", },

{ .funcs = "isa",

.algo = "ISA bus", },

{ .funcs = "i2c",

.algo = "I2C adapter", },

{ .funcs = "smbus",

.algo = "SMBus adapter", },

{ .funcs = "unknown",

.algo = "N/A", },

};

static enum adt i2c_get_funcs(int i2cbus)

{

unsigned long funcs;

int file;

char filename[20];

enum adt ret;

file = open_i2c_dev(i2cbus, filename, sizeof(filename), 1);

if (file < 0)

return adt_unknown;

if (ioctl(file, I2C_FUNCS, &funcs) < 0)

ret = adt_unknown;

else if (funcs & I2C_FUNC_I2C)

ret = adt_i2c;

Advertising