Lines Matching refs:pcf

27 int pcf50633_read_block(struct pcf50633 *pcf, u8 reg,  in pcf50633_read_block()  argument
32 ret = regmap_raw_read(pcf->regmap, reg, data, nr_regs); in pcf50633_read_block()
41 int pcf50633_write_block(struct pcf50633 *pcf , u8 reg, in pcf50633_write_block() argument
44 return regmap_raw_write(pcf->regmap, reg, data, nr_regs); in pcf50633_write_block()
48 u8 pcf50633_reg_read(struct pcf50633 *pcf, u8 reg) in pcf50633_reg_read() argument
53 ret = regmap_read(pcf->regmap, reg, &val); in pcf50633_reg_read()
61 int pcf50633_reg_write(struct pcf50633 *pcf, u8 reg, u8 val) in pcf50633_reg_write() argument
63 return regmap_write(pcf->regmap, reg, val); in pcf50633_reg_write()
67 int pcf50633_reg_set_bit_mask(struct pcf50633 *pcf, u8 reg, u8 mask, u8 val) in pcf50633_reg_set_bit_mask() argument
69 return regmap_update_bits(pcf->regmap, reg, mask, val); in pcf50633_reg_set_bit_mask()
73 int pcf50633_reg_clear_bits(struct pcf50633 *pcf, u8 reg, u8 val) in pcf50633_reg_clear_bits() argument
75 return regmap_update_bits(pcf->regmap, reg, val, 0); in pcf50633_reg_clear_bits()
83 struct pcf50633 *pcf = dev_get_drvdata(dev); in dump_regs_show() local
102 dump[n1] = pcf50633_reg_read(pcf, n + n1); in dump_regs_show()
114 struct pcf50633 *pcf = dev_get_drvdata(dev); in resume_reason_show() local
118 pcf->resume_reason[0], in resume_reason_show()
119 pcf->resume_reason[1], in resume_reason_show()
120 pcf->resume_reason[2], in resume_reason_show()
121 pcf->resume_reason[3], in resume_reason_show()
122 pcf->resume_reason[4]); in resume_reason_show()
140 pcf50633_client_dev_register(struct pcf50633 *pcf, const char *name, in pcf50633_client_dev_register() argument
147 dev_err(pcf->dev, "Failed to allocate %s\n", name); in pcf50633_client_dev_register()
151 (*pdev)->dev.parent = pcf->dev; in pcf50633_client_dev_register()
155 dev_err(pcf->dev, "Failed to register %s: %d\n", name, ret); in pcf50633_client_dev_register()
168 struct pcf50633 *pcf; in pcf50633_probe() local
179 pcf = devm_kzalloc(&client->dev, sizeof(*pcf), GFP_KERNEL); in pcf50633_probe()
180 if (!pcf) in pcf50633_probe()
183 i2c_set_clientdata(client, pcf); in pcf50633_probe()
184 pcf->dev = &client->dev; in pcf50633_probe()
185 pcf->pdata = pdata; in pcf50633_probe()
187 mutex_init(&pcf->lock); in pcf50633_probe()
189 pcf->regmap = devm_regmap_init_i2c(client, &pcf50633_regmap_config); in pcf50633_probe()
190 if (IS_ERR(pcf->regmap)) { in pcf50633_probe()
191 ret = PTR_ERR(pcf->regmap); in pcf50633_probe()
192 dev_err(pcf->dev, "Failed to allocate register map: %d\n", ret); in pcf50633_probe()
196 version = pcf50633_reg_read(pcf, 0); in pcf50633_probe()
197 variant = pcf50633_reg_read(pcf, 1); in pcf50633_probe()
199 dev_err(pcf->dev, "Unable to probe pcf50633\n"); in pcf50633_probe()
204 dev_info(pcf->dev, "Probed device version %d variant %d\n", in pcf50633_probe()
207 pcf50633_irq_init(pcf, client->irq); in pcf50633_probe()
210 pcf50633_client_dev_register(pcf, "pcf50633-input", &pcf->input_pdev); in pcf50633_probe()
211 pcf50633_client_dev_register(pcf, "pcf50633-rtc", &pcf->rtc_pdev); in pcf50633_probe()
212 pcf50633_client_dev_register(pcf, "pcf50633-mbc", &pcf->mbc_pdev); in pcf50633_probe()
213 pcf50633_client_dev_register(pcf, "pcf50633-adc", &pcf->adc_pdev); in pcf50633_probe()
214 pcf50633_client_dev_register(pcf, "pcf50633-backlight", &pcf->bl_pdev); in pcf50633_probe()
224 pdev->dev.parent = pcf->dev; in pcf50633_probe()
234 pcf->regulator_pdev[i] = pdev; in pcf50633_probe()
239 dev_warn(pcf->dev, "error creating sysfs entries\n"); in pcf50633_probe()
242 pdata->probe_done(pcf); in pcf50633_probe()
250 platform_device_put(pcf->regulator_pdev[j]); in pcf50633_probe()
257 struct pcf50633 *pcf = i2c_get_clientdata(client); in pcf50633_remove() local
261 pcf50633_irq_free(pcf); in pcf50633_remove()
263 platform_device_unregister(pcf->input_pdev); in pcf50633_remove()
264 platform_device_unregister(pcf->rtc_pdev); in pcf50633_remove()
265 platform_device_unregister(pcf->mbc_pdev); in pcf50633_remove()
266 platform_device_unregister(pcf->adc_pdev); in pcf50633_remove()
267 platform_device_unregister(pcf->bl_pdev); in pcf50633_remove()
270 platform_device_unregister(pcf->regulator_pdev[i]); in pcf50633_remove()