Lines Matching defs:rsmu

11 #include <linux/mfd/rsmu.h>
18 #include "rsmu.h"
25 static int rsmu_read_device(struct rsmu_ddata *rsmu, u8 reg, u8 *buf, u16 bytes)
27 struct spi_device *client = to_spi_device(rsmu->dev);
66 static int rsmu_write_device(struct rsmu_ddata *rsmu, u8 reg, u8 *buf, u16 bytes)
68 struct spi_device *client = to_spi_device(rsmu->dev);
94 static int rsmu_write_page_register(struct rsmu_ddata *rsmu, u32 reg)
102 switch (rsmu->type) {
126 dev_err(rsmu->dev, "Unsupported RSMU device type: %d\n", rsmu->type);
131 if (rsmu->page == page)
134 err = rsmu_write_device(rsmu, page_reg, buf, bytes);
136 dev_err(rsmu->dev, "Failed to set page offset 0x%x\n", page);
139 rsmu->page = page;
146 struct rsmu_ddata *rsmu = spi_get_drvdata((struct spi_device *)context);
150 err = rsmu_write_page_register(rsmu, reg);
154 err = rsmu_read_device(rsmu, addr, (u8 *)val, 1);
156 dev_err(rsmu->dev, "Failed to read offset address 0x%x\n", addr);
163 struct rsmu_ddata *rsmu = spi_get_drvdata((struct spi_device *)context);
168 err = rsmu_write_page_register(rsmu, reg);
172 err = rsmu_write_device(rsmu, addr, &data, 1);
174 dev_err(rsmu->dev,
202 struct rsmu_ddata *rsmu;
205 rsmu = devm_kzalloc(&client->dev, sizeof(*rsmu), GFP_KERNEL);
206 if (!rsmu)
209 spi_set_drvdata(client, rsmu);
211 rsmu->dev = &client->dev;
212 rsmu->type = (enum rsmu_type)id->driver_data;
215 switch (rsmu->type) {
223 dev_err(rsmu->dev, "Unsupported RSMU device type: %d\n", rsmu->type);
227 rsmu->regmap = devm_regmap_init(&client->dev, NULL, client, cfg);
228 if (IS_ERR(rsmu->regmap)) {
229 ret = PTR_ERR(rsmu->regmap);
230 dev_err(rsmu->dev, "Failed to allocate register map: %d\n", ret);
234 return rsmu_core_init(rsmu);
239 struct rsmu_ddata *rsmu = spi_get_drvdata(client);
241 rsmu_core_exit(rsmu);
264 .name = "rsmu-spi",