static void rtd2132_init(struct device *dev) { if (dev->enabled && dev->path.type == DEVICE_PATH_I2C && ops_smbus_bus(get_pbus_smbus(dev))) { rtd2132_setup(dev); } }
static int lsmbus_recv_byte(device_t dev) { unsigned device; struct resource *res; device = dev->path.i2c.device; res = find_resource(get_pbus_smbus(dev)->dev, 0x58); return do_smbus_recv_byte(res->base, device); }
static int lsmbus_block_write(device_t dev, uint8_t cmd, u8 bytes, const u8 *buffer) { unsigned device; struct resource *res; device = dev->path.i2c.device; res = find_resource(get_pbus_smbus(dev)->dev, 0x58); return do_smbus_block_write(res->base, device, cmd, bytes, buffer); }
static int lsmbus_write_byte(device_t dev, uint8_t address, uint8_t val) { unsigned device; struct resource *res; device = dev->path.i2c.device; res = find_resource(get_pbus_smbus(dev)->dev, 0x58); return do_smbus_write_byte(res->base, device, address, val); }
static int lsmbus_read_byte(struct device *dev, u8 address) { u16 device; struct resource *res; struct bus *pbus; device = dev->path.i2c.device; pbus = get_pbus_smbus(dev); res = find_resource(pbus->dev, PCI_BASE_ADDRESS_4); return smbus_read8(res->base, device, address); }
static int lsmbus_write_byte(device_t dev, uint8_t address, uint8_t data) { uint16_t device; struct resource *res; struct bus *pbus; device = dev->path.i2c.device; pbus = get_pbus_smbus(dev); res = find_resource(pbus->dev, PCI_BASE_ADDRESS_4); return do_smbus_write_byte(res->base, device, address, data); }
static int lsmbus_block_read(device_t dev, u8 cmd, u8 bytes, u8 *buf) { u16 device; struct resource *res; struct bus *pbus; device = dev->path.i2c.device; pbus = get_pbus_smbus(dev); res = find_resource(pbus->dev, 0x20); return do_smbus_block_read(res->base, device, cmd, bytes, buf); }
static int lsmbus_write_byte(device_t dev, u8 address, u8 data) { u16 device; struct resource *res; struct bus *pbus; device = dev->path.i2c.device; pbus = get_pbus_smbus(dev); res = find_resource(pbus->dev, 0x20); return do_smbus_write_byte(res->base, device, address, data); }
static void adm1027_init(device_t dev) { if (dev->enabled && dev->path.type == DEVICE_PATH_I2C) { if (ops_smbus_bus(get_pbus_smbus(dev))) { if (dev->bus->dev->path.type == DEVICE_PATH_I2C) smbus_set_link(dev); // it is under mux adm1027_enable_monitoring(dev); } } }
static u32 get_sm_mmio(struct device *dev) { struct resource *res; struct bus *pbus; pbus = get_pbus_smbus(dev); res = find_resource(pbus->dev, 0x90); if (res->base == SMB_BASE_ADDR) return SMBUS_MMIO_BASE; return ASF_MMIO_BASE; }
static int lsmbus_write_byte(device_t dev, uint8_t address, uint8_t val) { unsigned device; struct resource *res; struct bus *pbus; device = dev->path.i2c.device; pbus = get_pbus_smbus(dev); res = find_resource(pbus->dev, 0x20 + (pbus->link_num * 4)); return do_smbus_write_byte(res->base, device, address, val); }
static int lsmbus_recv_byte(device_t dev) { unsigned device; struct resource *res; struct bus *pbus; device = dev->path.i2c.device; pbus = get_pbus_smbus(dev); res = find_resource(pbus->dev, 0x20 + (pbus->link_num * 4)); return do_smbus_recv_byte(res->base, device); }
static int lsmbus_send_byte(device_t dev, uint8_t val) { unsigned device; struct resource *res; struct bus *pbus; device = dev->path.i2c.device; pbus = get_pbus_smbus(dev); res = find_resource(pbus->dev, 0x90); return do_smbus_send_byte(res->base, device, val); }
static int lsmbus_read_byte(device_t dev, u8 address) { u32 device; struct resource *res; struct bus *pbus; device = dev->path.i2c.device; pbus = get_pbus_smbus(dev); res = find_resource(pbus->dev, 0x90); return do_smbus_read_byte(res->base, device, address); }
static void lm63_init(struct device *dev) { int result; if (dev->enabled && dev->path.type == DEVICE_PATH_I2C) { if (ops_smbus_bus(get_pbus_smbus(dev))) { if (dev->bus->dev->path.type == DEVICE_PATH_I2C) smbus_set_link(dev); // it is under mux result = smbus_read_byte(dev, 0x03); // result &= ~0x04; result |= 0x04; smbus_write_byte(dev, 0x03, result & 0xff); // config lm63 } } }
static int lsmbus_write_byte(device_t dev, u8 address, u8 val) { unsigned int device; struct resource *res; device = dev->path.i2c.device; res = find_resource(get_pbus_smbus(dev)->dev, PNP_IDX_IO0); pnp_write_index(res->base+HWM_INDEX, 0, device); /* Why 0? */ /* We only write it one byte one time. */ pnp_write_index(res->base+SB_INDEX, address, val); return 0; }
static int lsmbus_write_byte(device_t dev, u8 address, u8 val) { u32 device; struct resource *res; struct bus *pbus; device = dev->path.i2c.device; pbus = get_pbus_smbus(dev); if (!amd_sb700_aux_smbus) res = find_resource(pbus->dev, PRIMARY_SMBUS_RESOURCE_NUMBER); else res = find_resource(pbus->dev, AUXILIARY_SMBUS_RESOURCE_NUMBER); return do_smbus_write_byte(res->base, device, address, val); }
static int lsmbus_read_byte(device_t dev, u8 address) { unsigned int device; struct resource *res; int result; device = dev->path.i2c.device; res = find_resource(get_pbus_smbus(dev)->dev, PNP_IDX_IO0); pnp_write_index(res->base + HWM_INDEX, 0, device); /* Why 0? */ /* We only read it one byte one time. */ result = pnp_read_index(res->base + SB_INDEX, address); return result; }