Lines Matching defs: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",
201 struct gsc_dev *gsc;
206 gsc = devm_kzalloc(dev, sizeof(*gsc), GFP_KERNEL);
207 if (!gsc)
210 gsc->dev = &client->dev;
211 gsc->i2c = client;
212 i2c_set_clientdata(client, gsc);
214 gsc->regmap = devm_regmap_init(dev, &gsc_regmap_bus, client,
216 if (IS_ERR(gsc->regmap))
217 return PTR_ERR(gsc->regmap);
219 if (regmap_read(gsc->regmap, GSC_FW_VER, ®))
221 gsc->fwver = reg;
223 regmap_read(gsc->regmap, GSC_FW_CRC, ®);
224 gsc->fwcrc = reg;
225 regmap_read(gsc->regmap, GSC_FW_CRC + 1, ®);
226 gsc->fwcrc |= reg << 8;
228 gsc->i2c_hwmon = devm_i2c_new_dummy_device(dev, client->adapter,
230 if (IS_ERR(gsc->i2c_hwmon)) {
232 return PTR_ERR(gsc->i2c_hwmon);
235 ret = devm_regmap_add_irq_chip(dev, gsc->regmap, client->irq,
243 gsc->fwver, gsc->fwcrc);
267 .name = "gateworks-gsc",