Lines Matching +full:multi +full:- +full:pmic
2 * tps6507x.c -- TPS6507x chip family multi-function driver
11 * Using code from wm831x-*.c, wm8400-core, Wolfson Microelectronics PLC.
13 * For licencing details see kernel-base/COPYING
28 .name = "tps6507x-pmic",
31 .name = "tps6507x-ts",
39 struct i2c_client *i2c = tps6507x->i2c_client; in tps6507x_i2c_read_device()
44 xfer[0].addr = i2c->addr; in tps6507x_i2c_read_device()
50 xfer[1].addr = i2c->addr; in tps6507x_i2c_read_device()
55 ret = i2c_transfer(i2c->adapter, xfer, 2); in tps6507x_i2c_read_device()
59 ret = -EIO; in tps6507x_i2c_read_device()
67 struct i2c_client *i2c = tps6507x->i2c_client; in tps6507x_i2c_write_device()
73 return -EINVAL; in tps6507x_i2c_write_device()
82 return -EIO; in tps6507x_i2c_write_device()
90 tps6507x = devm_kzalloc(&i2c->dev, sizeof(struct tps6507x_dev), in tps6507x_i2c_probe()
93 return -ENOMEM; in tps6507x_i2c_probe()
96 tps6507x->dev = &i2c->dev; in tps6507x_i2c_probe()
97 tps6507x->i2c_client = i2c; in tps6507x_i2c_probe()
98 tps6507x->read_dev = tps6507x_i2c_read_device; in tps6507x_i2c_probe()
99 tps6507x->write_dev = tps6507x_i2c_write_device; in tps6507x_i2c_probe()
101 return devm_mfd_add_devices(tps6507x->dev, -1, tps6507x_devs, in tps6507x_i2c_probe()
141 MODULE_DESCRIPTION("TPS6507x chip family multi-function driver");