aat2870            92 drivers/mfd/aat2870-core.c static int __aat2870_read(struct aat2870_data *aat2870, u8 addr, u8 *val)
aat2870            97 drivers/mfd/aat2870-core.c 		dev_err(aat2870->dev, "Invalid address, 0x%02x\n", addr);
aat2870           101 drivers/mfd/aat2870-core.c 	if (!aat2870->reg_cache[addr].readable) {
aat2870           102 drivers/mfd/aat2870-core.c 		*val = aat2870->reg_cache[addr].value;
aat2870           106 drivers/mfd/aat2870-core.c 	ret = i2c_master_send(aat2870->client, &addr, 1);
aat2870           112 drivers/mfd/aat2870-core.c 	ret = i2c_master_recv(aat2870->client, val, 1);
aat2870           119 drivers/mfd/aat2870-core.c 	dev_dbg(aat2870->dev, "read: addr=0x%02x, val=0x%02x\n", addr, *val);
aat2870           123 drivers/mfd/aat2870-core.c static int __aat2870_write(struct aat2870_data *aat2870, u8 addr, u8 val)
aat2870           129 drivers/mfd/aat2870-core.c 		dev_err(aat2870->dev, "Invalid address, 0x%02x\n", addr);
aat2870           133 drivers/mfd/aat2870-core.c 	if (!aat2870->reg_cache[addr].writeable) {
aat2870           134 drivers/mfd/aat2870-core.c 		dev_err(aat2870->dev, "Address 0x%02x is not writeable\n",
aat2870           141 drivers/mfd/aat2870-core.c 	ret = i2c_master_send(aat2870->client, msg, 2);
aat2870           147 drivers/mfd/aat2870-core.c 	aat2870->reg_cache[addr].value = val;
aat2870           149 drivers/mfd/aat2870-core.c 	dev_dbg(aat2870->dev, "write: addr=0x%02x, val=0x%02x\n", addr, val);
aat2870           153 drivers/mfd/aat2870-core.c static int aat2870_read(struct aat2870_data *aat2870, u8 addr, u8 *val)
aat2870           157 drivers/mfd/aat2870-core.c 	mutex_lock(&aat2870->io_lock);
aat2870           158 drivers/mfd/aat2870-core.c 	ret = __aat2870_read(aat2870, addr, val);
aat2870           159 drivers/mfd/aat2870-core.c 	mutex_unlock(&aat2870->io_lock);
aat2870           164 drivers/mfd/aat2870-core.c static int aat2870_write(struct aat2870_data *aat2870, u8 addr, u8 val)
aat2870           168 drivers/mfd/aat2870-core.c 	mutex_lock(&aat2870->io_lock);
aat2870           169 drivers/mfd/aat2870-core.c 	ret = __aat2870_write(aat2870, addr, val);
aat2870           170 drivers/mfd/aat2870-core.c 	mutex_unlock(&aat2870->io_lock);
aat2870           175 drivers/mfd/aat2870-core.c static int aat2870_update(struct aat2870_data *aat2870, u8 addr, u8 mask,
aat2870           182 drivers/mfd/aat2870-core.c 	mutex_lock(&aat2870->io_lock);
aat2870           184 drivers/mfd/aat2870-core.c 	ret = __aat2870_read(aat2870, addr, &old_val);
aat2870           191 drivers/mfd/aat2870-core.c 		ret = __aat2870_write(aat2870, addr, new_val);
aat2870           194 drivers/mfd/aat2870-core.c 	mutex_unlock(&aat2870->io_lock);
aat2870           199 drivers/mfd/aat2870-core.c static inline void aat2870_enable(struct aat2870_data *aat2870)
aat2870           201 drivers/mfd/aat2870-core.c 	if (aat2870->en_pin >= 0)
aat2870           202 drivers/mfd/aat2870-core.c 		gpio_set_value(aat2870->en_pin, 1);
aat2870           204 drivers/mfd/aat2870-core.c 	aat2870->is_enable = 1;
aat2870           207 drivers/mfd/aat2870-core.c static inline void aat2870_disable(struct aat2870_data *aat2870)
aat2870           209 drivers/mfd/aat2870-core.c 	if (aat2870->en_pin >= 0)
aat2870           210 drivers/mfd/aat2870-core.c 		gpio_set_value(aat2870->en_pin, 0);
aat2870           212 drivers/mfd/aat2870-core.c 	aat2870->is_enable = 0;
aat2870           216 drivers/mfd/aat2870-core.c static ssize_t aat2870_dump_reg(struct aat2870_data *aat2870, char *buf)
aat2870           228 drivers/mfd/aat2870-core.c 		ret = aat2870->read(aat2870, addr, &val);
aat2870           254 drivers/mfd/aat2870-core.c 	struct aat2870_data *aat2870 = file->private_data;
aat2870           262 drivers/mfd/aat2870-core.c 	ret = aat2870_dump_reg(aat2870, buf);
aat2870           275 drivers/mfd/aat2870-core.c 	struct aat2870_data *aat2870 = file->private_data;
aat2870           284 drivers/mfd/aat2870-core.c 		dev_err(aat2870->dev, "Failed to copy from user\n");
aat2870           297 drivers/mfd/aat2870-core.c 		dev_err(aat2870->dev, "Invalid address, 0x%lx\n", addr);
aat2870           308 drivers/mfd/aat2870-core.c 	ret = aat2870->write(aat2870, (u8)addr, (u8)val);
aat2870           321 drivers/mfd/aat2870-core.c static void aat2870_init_debugfs(struct aat2870_data *aat2870)
aat2870           323 drivers/mfd/aat2870-core.c 	aat2870->dentry_root = debugfs_create_dir("aat2870", NULL);
aat2870           325 drivers/mfd/aat2870-core.c 	debugfs_create_file("regs", 0644, aat2870->dentry_root, aat2870,
aat2870           330 drivers/mfd/aat2870-core.c static inline void aat2870_init_debugfs(struct aat2870_data *aat2870)
aat2870           339 drivers/mfd/aat2870-core.c 	struct aat2870_data *aat2870;
aat2870           343 drivers/mfd/aat2870-core.c 	aat2870 = devm_kzalloc(&client->dev, sizeof(struct aat2870_data),
aat2870           345 drivers/mfd/aat2870-core.c 	if (!aat2870)
aat2870           348 drivers/mfd/aat2870-core.c 	aat2870->dev = &client->dev;
aat2870           349 drivers/mfd/aat2870-core.c 	dev_set_drvdata(aat2870->dev, aat2870);
aat2870           351 drivers/mfd/aat2870-core.c 	aat2870->client = client;
aat2870           352 drivers/mfd/aat2870-core.c 	i2c_set_clientdata(client, aat2870);
aat2870           354 drivers/mfd/aat2870-core.c 	aat2870->reg_cache = aat2870_regs;
aat2870           357 drivers/mfd/aat2870-core.c 		aat2870->en_pin = -1;
aat2870           359 drivers/mfd/aat2870-core.c 		aat2870->en_pin = pdata->en_pin;
aat2870           361 drivers/mfd/aat2870-core.c 	aat2870->init = pdata->init;
aat2870           362 drivers/mfd/aat2870-core.c 	aat2870->uninit = pdata->uninit;
aat2870           363 drivers/mfd/aat2870-core.c 	aat2870->read = aat2870_read;
aat2870           364 drivers/mfd/aat2870-core.c 	aat2870->write = aat2870_write;
aat2870           365 drivers/mfd/aat2870-core.c 	aat2870->update = aat2870_update;
aat2870           367 drivers/mfd/aat2870-core.c 	mutex_init(&aat2870->io_lock);
aat2870           369 drivers/mfd/aat2870-core.c 	if (aat2870->init)
aat2870           370 drivers/mfd/aat2870-core.c 		aat2870->init(aat2870);
aat2870           372 drivers/mfd/aat2870-core.c 	if (aat2870->en_pin >= 0) {
aat2870           373 drivers/mfd/aat2870-core.c 		ret = devm_gpio_request_one(&client->dev, aat2870->en_pin,
aat2870           377 drivers/mfd/aat2870-core.c 				"Failed to request GPIO %d\n", aat2870->en_pin);
aat2870           382 drivers/mfd/aat2870-core.c 	aat2870_enable(aat2870);
aat2870           396 drivers/mfd/aat2870-core.c 	ret = mfd_add_devices(aat2870->dev, 0, aat2870_devs,
aat2870           399 drivers/mfd/aat2870-core.c 		dev_err(aat2870->dev, "Failed to add subdev: %d\n", ret);
aat2870           403 drivers/mfd/aat2870-core.c 	aat2870_init_debugfs(aat2870);
aat2870           408 drivers/mfd/aat2870-core.c 	aat2870_disable(aat2870);
aat2870           416 drivers/mfd/aat2870-core.c 	struct aat2870_data *aat2870 = i2c_get_clientdata(client);
aat2870           418 drivers/mfd/aat2870-core.c 	aat2870_disable(aat2870);
aat2870           426 drivers/mfd/aat2870-core.c 	struct aat2870_data *aat2870 = i2c_get_clientdata(client);
aat2870           430 drivers/mfd/aat2870-core.c 	aat2870_enable(aat2870);
aat2870           434 drivers/mfd/aat2870-core.c 		reg = &aat2870->reg_cache[i];
aat2870           436 drivers/mfd/aat2870-core.c 			aat2870->write(aat2870, i, reg->value);
aat2870            20 drivers/regulator/aat2870-regulator.c 	struct aat2870_data *aat2870;
aat2870            36 drivers/regulator/aat2870-regulator.c 	struct aat2870_data *aat2870 = ri->aat2870;
aat2870            38 drivers/regulator/aat2870-regulator.c 	return aat2870->update(aat2870, ri->voltage_addr, ri->voltage_mask,
aat2870            45 drivers/regulator/aat2870-regulator.c 	struct aat2870_data *aat2870 = ri->aat2870;
aat2870            49 drivers/regulator/aat2870-regulator.c 	ret = aat2870->read(aat2870, ri->voltage_addr, &val);
aat2870            59 drivers/regulator/aat2870-regulator.c 	struct aat2870_data *aat2870 = ri->aat2870;
aat2870            61 drivers/regulator/aat2870-regulator.c 	return aat2870->update(aat2870, ri->enable_addr, ri->enable_mask,
aat2870            68 drivers/regulator/aat2870-regulator.c 	struct aat2870_data *aat2870 = ri->aat2870;
aat2870            70 drivers/regulator/aat2870-regulator.c 	return aat2870->update(aat2870, ri->enable_addr, ri->enable_mask, 0);
aat2870            76 drivers/regulator/aat2870-regulator.c 	struct aat2870_data *aat2870 = ri->aat2870;
aat2870            80 drivers/regulator/aat2870-regulator.c 	ret = aat2870->read(aat2870, ri->enable_addr, &val);
aat2870           161 drivers/regulator/aat2870-regulator.c 	ri->aat2870 = dev_get_drvdata(pdev->dev.parent);
aat2870            42 drivers/video/backlight/aat2870_bl.c 	struct aat2870_data *aat2870
aat2870            45 drivers/video/backlight/aat2870_bl.c 	return aat2870->write(aat2870, AAT2870_BL_CH_EN,
aat2870            51 drivers/video/backlight/aat2870_bl.c 	struct aat2870_data *aat2870
aat2870            54 drivers/video/backlight/aat2870_bl.c 	return aat2870->write(aat2870, AAT2870_BL_CH_EN, 0x0);
aat2870            60 drivers/video/backlight/aat2870_bl.c 	struct aat2870_data *aat2870 =
aat2870            78 drivers/video/backlight/aat2870_bl.c 	ret = aat2870->write(aat2870, AAT2870_BLM,
aat2870           129 include/linux/mfd/aat2870.h 	int (*init)(struct aat2870_data *aat2870);
aat2870           130 include/linux/mfd/aat2870.h 	void (*uninit)(struct aat2870_data *aat2870);
aat2870           133 include/linux/mfd/aat2870.h 	int (*read)(struct aat2870_data *aat2870, u8 addr, u8 *val);
aat2870           134 include/linux/mfd/aat2870.h 	int (*write)(struct aat2870_data *aat2870, u8 addr, u8 val);
aat2870           135 include/linux/mfd/aat2870.h 	int (*update)(struct aat2870_data *aat2870, u8 addr, u8 mask, u8 val);
aat2870           154 include/linux/mfd/aat2870.h 	int (*init)(struct aat2870_data *aat2870);
aat2870           155 include/linux/mfd/aat2870.h 	void (*uninit)(struct aat2870_data *aat2870);