Lines Matching refs:gsc
15 #include <linux/mfd/gsc.h>
76 static int gsc_powerdown(struct gsc_dev *gsc, unsigned long secs)
81 dev_info(&gsc->i2c->dev, "GSC powerdown for %ld seconds\n",
85 ret = regmap_bulk_write(gsc->regmap, GSC_TIME_ADD, regs, 4);
89 ret = regmap_update_bits(gsc->regmap, GSC_CTRL_1,
95 ret = regmap_update_bits(gsc->regmap, GSC_CTRL_1,
108 struct gsc_dev *gsc = dev_get_drvdata(dev);
113 rz = sprintf(buf, "%d\n", gsc->fwver);
115 rz = sprintf(buf, "0x%04x\n", gsc->fwcrc);
125 struct gsc_dev *gsc = dev_get_drvdata(dev);
131 gsc_powerdown(gsc, value);
158 { .compatible = "gw,gsc", },
187 .name = "gateworks-gsc",
200 struct gsc_dev *gsc;
205 gsc = devm_kzalloc(dev, sizeof(*gsc), GFP_KERNEL);
206 if (!gsc)
209 gsc->dev = &client->dev;
210 gsc->i2c = client;
211 i2c_set_clientdata(client, gsc);
213 gsc->regmap = devm_regmap_init(dev, &gsc_regmap_bus, client,
215 if (IS_ERR(gsc->regmap))
216 return PTR_ERR(gsc->regmap);
218 if (regmap_read(gsc->regmap, GSC_FW_VER, ®))
220 gsc->fwver = reg;
222 regmap_read(gsc->regmap, GSC_FW_CRC, ®);
223 gsc->fwcrc = reg;
224 regmap_read(gsc->regmap, GSC_FW_CRC + 1, ®);
225 gsc->fwcrc |= reg << 8;
227 gsc->i2c_hwmon = devm_i2c_new_dummy_device(dev, client->adapter,
229 if (IS_ERR(gsc->i2c_hwmon)) {
231 return PTR_ERR(gsc->i2c_hwmon);
234 ret = devm_regmap_add_irq_chip(dev, gsc->regmap, client->irq,
242 gsc->fwver, gsc->fwcrc);
264 .name = "gateworks-gsc",