Lines Matching refs:pcf
32 int pcf50633_read_block(struct pcf50633 *pcf, u8 reg, in pcf50633_read_block() argument
37 ret = regmap_raw_read(pcf->regmap, reg, data, nr_regs); in pcf50633_read_block()
46 int pcf50633_write_block(struct pcf50633 *pcf , u8 reg, in pcf50633_write_block() argument
49 return regmap_raw_write(pcf->regmap, reg, data, nr_regs); in pcf50633_write_block()
53 u8 pcf50633_reg_read(struct pcf50633 *pcf, u8 reg) in pcf50633_reg_read() argument
58 ret = regmap_read(pcf->regmap, reg, &val); in pcf50633_reg_read()
66 int pcf50633_reg_write(struct pcf50633 *pcf, u8 reg, u8 val) in pcf50633_reg_write() argument
68 return regmap_write(pcf->regmap, reg, val); in pcf50633_reg_write()
72 int pcf50633_reg_set_bit_mask(struct pcf50633 *pcf, u8 reg, u8 mask, u8 val) in pcf50633_reg_set_bit_mask() argument
74 return regmap_update_bits(pcf->regmap, reg, mask, val); in pcf50633_reg_set_bit_mask()
78 int pcf50633_reg_clear_bits(struct pcf50633 *pcf, u8 reg, u8 val) in pcf50633_reg_clear_bits() argument
80 return regmap_update_bits(pcf->regmap, reg, val, 0); in pcf50633_reg_clear_bits()
88 struct pcf50633 *pcf = dev_get_drvdata(dev); in show_dump_regs() local
107 dump[n1] = pcf50633_reg_read(pcf, n + n1); in show_dump_regs()
119 struct pcf50633 *pcf = dev_get_drvdata(dev); in show_resume_reason() local
123 pcf->resume_reason[0], in show_resume_reason()
124 pcf->resume_reason[1], in show_resume_reason()
125 pcf->resume_reason[2], in show_resume_reason()
126 pcf->resume_reason[3], in show_resume_reason()
127 pcf->resume_reason[4]); in show_resume_reason()
145 pcf50633_client_dev_register(struct pcf50633 *pcf, const char *name, in pcf50633_client_dev_register() argument
152 dev_err(pcf->dev, "Falied to allocate %s\n", name); in pcf50633_client_dev_register()
156 (*pdev)->dev.parent = pcf->dev; in pcf50633_client_dev_register()
160 dev_err(pcf->dev, "Failed to register %s: %d\n", name, ret); in pcf50633_client_dev_register()
170 struct pcf50633 *pcf = i2c_get_clientdata(client); in pcf50633_suspend() local
172 return pcf50633_irq_suspend(pcf); in pcf50633_suspend()
178 struct pcf50633 *pcf = i2c_get_clientdata(client); in pcf50633_resume() local
180 return pcf50633_irq_resume(pcf); in pcf50633_resume()
194 struct pcf50633 *pcf; in pcf50633_probe() local
205 pcf = devm_kzalloc(&client->dev, sizeof(*pcf), GFP_KERNEL); in pcf50633_probe()
206 if (!pcf) in pcf50633_probe()
209 i2c_set_clientdata(client, pcf); in pcf50633_probe()
210 pcf->dev = &client->dev; in pcf50633_probe()
211 pcf->pdata = pdata; in pcf50633_probe()
213 mutex_init(&pcf->lock); in pcf50633_probe()
215 pcf->regmap = devm_regmap_init_i2c(client, &pcf50633_regmap_config); in pcf50633_probe()
216 if (IS_ERR(pcf->regmap)) { in pcf50633_probe()
217 ret = PTR_ERR(pcf->regmap); in pcf50633_probe()
218 dev_err(pcf->dev, "Failed to allocate register map: %d\n", ret); in pcf50633_probe()
222 version = pcf50633_reg_read(pcf, 0); in pcf50633_probe()
223 variant = pcf50633_reg_read(pcf, 1); in pcf50633_probe()
225 dev_err(pcf->dev, "Unable to probe pcf50633\n"); in pcf50633_probe()
230 dev_info(pcf->dev, "Probed device version %d variant %d\n", in pcf50633_probe()
233 pcf50633_irq_init(pcf, client->irq); in pcf50633_probe()
236 pcf50633_client_dev_register(pcf, "pcf50633-input", &pcf->input_pdev); in pcf50633_probe()
237 pcf50633_client_dev_register(pcf, "pcf50633-rtc", &pcf->rtc_pdev); in pcf50633_probe()
238 pcf50633_client_dev_register(pcf, "pcf50633-mbc", &pcf->mbc_pdev); in pcf50633_probe()
239 pcf50633_client_dev_register(pcf, "pcf50633-adc", &pcf->adc_pdev); in pcf50633_probe()
240 pcf50633_client_dev_register(pcf, "pcf50633-backlight", &pcf->bl_pdev); in pcf50633_probe()
248 pdev->dev.parent = pcf->dev; in pcf50633_probe()
258 pcf->regulator_pdev[i] = pdev; in pcf50633_probe()
263 dev_warn(pcf->dev, "error creating sysfs entries\n"); in pcf50633_probe()
266 pdata->probe_done(pcf); in pcf50633_probe()
273 platform_device_put(pcf->regulator_pdev[j]); in pcf50633_probe()
280 struct pcf50633 *pcf = i2c_get_clientdata(client); in pcf50633_remove() local
284 pcf50633_irq_free(pcf); in pcf50633_remove()
286 platform_device_unregister(pcf->input_pdev); in pcf50633_remove()
287 platform_device_unregister(pcf->rtc_pdev); in pcf50633_remove()
288 platform_device_unregister(pcf->mbc_pdev); in pcf50633_remove()
289 platform_device_unregister(pcf->adc_pdev); in pcf50633_remove()
290 platform_device_unregister(pcf->bl_pdev); in pcf50633_remove()
293 platform_device_unregister(pcf->regulator_pdev[i]); in pcf50633_remove()