Lines Matching refs:pcf

32 int pcf50633_read_block(struct pcf50633 *pcf, u8 reg,
37 ret = regmap_raw_read(pcf->regmap, reg, data, nr_regs);
46 int pcf50633_write_block(struct pcf50633 *pcf , u8 reg,
49 return regmap_raw_write(pcf->regmap, reg, data, nr_regs);
53 u8 pcf50633_reg_read(struct pcf50633 *pcf, u8 reg)
58 ret = regmap_read(pcf->regmap, reg, &val);
66 int pcf50633_reg_write(struct pcf50633 *pcf, u8 reg, u8 val)
68 return regmap_write(pcf->regmap, reg, val);
72 int pcf50633_reg_set_bit_mask(struct pcf50633 *pcf, u8 reg, u8 mask, u8 val)
74 return regmap_update_bits(pcf->regmap, reg, mask, val);
78 int pcf50633_reg_clear_bits(struct pcf50633 *pcf, u8 reg, u8 val)
80 return regmap_update_bits(pcf->regmap, reg, val, 0);
88 struct pcf50633 *pcf = dev_get_drvdata(dev);
107 dump[n1] = pcf50633_reg_read(pcf, n + n1);
122 struct pcf50633 *pcf = dev_get_drvdata(dev);
126 pcf->resume_reason[0],
127 pcf->resume_reason[1],
128 pcf->resume_reason[2],
129 pcf->resume_reason[3],
130 pcf->resume_reason[4]);
148 pcf50633_client_dev_register(struct pcf50633 *pcf, const char *name,
155 dev_err(pcf->dev, "Falied to allocate %s\n", name);
159 (*pdev)->dev.parent = pcf->dev;
163 dev_err(pcf->dev, "Failed to register %s: %d\n", name, ret);
173 struct pcf50633 *pcf = i2c_get_clientdata(client);
175 return pcf50633_irq_suspend(pcf);
181 struct pcf50633 *pcf = i2c_get_clientdata(client);
183 return pcf50633_irq_resume(pcf);
197 struct pcf50633 *pcf;
207 pcf = kzalloc(sizeof(*pcf), GFP_KERNEL);
208 if (!pcf)
211 pcf->pdata = pdata;
213 mutex_init(&pcf->lock);
215 pcf->regmap = regmap_init_i2c(client, &pcf50633_regmap_config);
216 if (IS_ERR(pcf->regmap)) {
217 ret = PTR_ERR(pcf->regmap);
218 dev_err(pcf->dev, "Failed to allocate register map: %d\n",
223 i2c_set_clientdata(client, pcf);
224 pcf->dev = &client->dev;
226 version = pcf50633_reg_read(pcf, 0);
227 variant = pcf50633_reg_read(pcf, 1);
229 dev_err(pcf->dev, "Unable to probe pcf50633\n");
234 dev_info(pcf->dev, "Probed device version %d variant %d\n",
237 pcf50633_irq_init(pcf, client->irq);
240 pcf50633_client_dev_register(pcf, "pcf50633-input",
241 &pcf->input_pdev);
242 pcf50633_client_dev_register(pcf, "pcf50633-rtc",
243 &pcf->rtc_pdev);
244 pcf50633_client_dev_register(pcf, "pcf50633-mbc",
245 &pcf->mbc_pdev);
246 pcf50633_client_dev_register(pcf, "pcf50633-adc",
247 &pcf->adc_pdev);
248 pcf50633_client_dev_register(pcf, "pcf50633-backlight",
249 &pcf->bl_pdev);
257 dev_err(pcf->dev, "Cannot create regulator %d\n", i);
261 pdev->dev.parent = pcf->dev;
264 pcf->regulator_pdev[i] = pdev;
271 dev_err(pcf->dev, "error creating sysfs entries\n");
274 pdata->probe_done(pcf);
279 regmap_exit(pcf->regmap);
281 kfree(pcf);
288 struct pcf50633 *pcf = i2c_get_clientdata(client);
292 pcf50633_irq_free(pcf);
294 platform_device_unregister(pcf->input_pdev);
295 platform_device_unregister(pcf->rtc_pdev);
296 platform_device_unregister(pcf->mbc_pdev);
297 platform_device_unregister(pcf->adc_pdev);
298 platform_device_unregister(pcf->bl_pdev);
301 platform_device_unregister(pcf->regulator_pdev[i]);
303 regmap_exit(pcf->regmap);
304 kfree(pcf);