Lines Matching refs:mbc
43 struct pcf50633_mbc *mbc = platform_get_drvdata(pcf->mbc_pdev); in pcf50633_mbc_usb_curlim_set() local
83 if (mbc->pcf->pdata->charger_reference_current_ma) { in pcf50633_mbc_usb_curlim_set()
84 mbcc5 = (ma << 8) / mbc->pcf->pdata->charger_reference_current_ma; in pcf50633_mbc_usb_curlim_set()
87 pcf50633_reg_write(mbc->pcf, PCF50633_REG_MBCC5, mbcc5); in pcf50633_mbc_usb_curlim_set()
90 mbcs2 = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCS2); in pcf50633_mbc_usb_curlim_set()
107 power_supply_changed(mbc->usb); in pcf50633_mbc_usb_curlim_set()
115 struct pcf50633_mbc *mbc = platform_get_drvdata(pcf->mbc_pdev); in pcf50633_mbc_get_status() local
119 if (!mbc) in pcf50633_mbc_get_status()
122 chgmod = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCS2) in pcf50633_mbc_get_status()
125 if (mbc->usb_online) in pcf50633_mbc_get_status()
132 if (mbc->adapter_online) in pcf50633_mbc_get_status()
146 struct pcf50633_mbc *mbc = platform_get_drvdata(pcf->mbc_pdev); in pcf50633_mbc_get_usb_online_status() local
148 if (!mbc) in pcf50633_mbc_get_usb_online_status()
151 return mbc->usb_online; in pcf50633_mbc_get_usb_online_status()
158 struct pcf50633_mbc *mbc = dev_get_drvdata(dev); in show_chgmode() local
160 u8 mbcs2 = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCS2); in show_chgmode()
170 struct pcf50633_mbc *mbc = dev_get_drvdata(dev); in show_usblim() local
171 u8 usblim = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCC7) & in show_usblim()
190 struct pcf50633_mbc *mbc = dev_get_drvdata(dev); in set_usblim() local
198 pcf50633_mbc_usb_curlim_set(mbc->pcf, ma); in set_usblim()
208 struct pcf50633_mbc *mbc = dev_get_drvdata(dev); in show_chglim() local
209 u8 mbcc5 = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCC5); in show_chglim()
212 if (!mbc->pcf->pdata->charger_reference_current_ma) in show_chglim()
215 ma = (mbc->pcf->pdata->charger_reference_current_ma * mbcc5) >> 8; in show_chglim()
223 struct pcf50633_mbc *mbc = dev_get_drvdata(dev); in set_chglim() local
228 if (!mbc->pcf->pdata->charger_reference_current_ma) in set_chglim()
235 mbcc5 = (ma << 8) / mbc->pcf->pdata->charger_reference_current_ma; in set_chglim()
238 pcf50633_reg_write(mbc->pcf, PCF50633_REG_MBCC5, mbcc5); in set_chglim()
265 struct pcf50633_mbc *mbc = data; in pcf50633_mbc_irq_handler() local
269 mbc->usb_online = 1; in pcf50633_mbc_irq_handler()
271 mbc->usb_online = 0; in pcf50633_mbc_irq_handler()
272 pcf50633_mbc_usb_curlim_set(mbc->pcf, 0); in pcf50633_mbc_irq_handler()
277 mbc->adapter_online = 1; in pcf50633_mbc_irq_handler()
279 mbc->adapter_online = 0; in pcf50633_mbc_irq_handler()
281 power_supply_changed(mbc->ac); in pcf50633_mbc_irq_handler()
282 power_supply_changed(mbc->usb); in pcf50633_mbc_irq_handler()
283 power_supply_changed(mbc->adapter); in pcf50633_mbc_irq_handler()
285 if (mbc->pcf->pdata->mbc_event_callback) in pcf50633_mbc_irq_handler()
286 mbc->pcf->pdata->mbc_event_callback(mbc->pcf, irq); in pcf50633_mbc_irq_handler()
293 struct pcf50633_mbc *mbc = power_supply_get_drvdata(psy); in adapter_get_property() local
298 val->intval = mbc->adapter_online; in adapter_get_property()
311 struct pcf50633_mbc *mbc = power_supply_get_drvdata(psy); in usb_get_property() local
313 u8 usblim = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCC7) & in usb_get_property()
318 val->intval = mbc->usb_online && in usb_get_property()
332 struct pcf50633_mbc *mbc = power_supply_get_drvdata(psy); in ac_get_property() local
334 u8 usblim = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCC7) & in ac_get_property()
339 val->intval = mbc->usb_online && in ac_get_property()
395 struct pcf50633_mbc *mbc; in pcf50633_mbc_probe() local
400 mbc = devm_kzalloc(&pdev->dev, sizeof(*mbc), GFP_KERNEL); in pcf50633_mbc_probe()
401 if (!mbc) in pcf50633_mbc_probe()
404 platform_set_drvdata(pdev, mbc); in pcf50633_mbc_probe()
405 mbc->pcf = dev_to_pcf50633(pdev->dev.parent); in pcf50633_mbc_probe()
409 pcf50633_register_irq(mbc->pcf, mbc_irq_handlers[i], in pcf50633_mbc_probe()
410 pcf50633_mbc_irq_handler, mbc); in pcf50633_mbc_probe()
412 psy_cfg.supplied_to = mbc->pcf->pdata->batteries; in pcf50633_mbc_probe()
413 psy_cfg.num_supplicants = mbc->pcf->pdata->num_batteries; in pcf50633_mbc_probe()
414 psy_cfg.drv_data = mbc; in pcf50633_mbc_probe()
417 mbc->adapter = power_supply_register(&pdev->dev, in pcf50633_mbc_probe()
420 if (IS_ERR(mbc->adapter)) { in pcf50633_mbc_probe()
421 dev_err(mbc->pcf->dev, "failed to register adapter\n"); in pcf50633_mbc_probe()
422 ret = PTR_ERR(mbc->adapter); in pcf50633_mbc_probe()
426 mbc->usb = power_supply_register(&pdev->dev, &pcf50633_mbc_usb_desc, in pcf50633_mbc_probe()
428 if (IS_ERR(mbc->usb)) { in pcf50633_mbc_probe()
429 dev_err(mbc->pcf->dev, "failed to register usb\n"); in pcf50633_mbc_probe()
430 power_supply_unregister(mbc->adapter); in pcf50633_mbc_probe()
431 ret = PTR_ERR(mbc->usb); in pcf50633_mbc_probe()
435 mbc->ac = power_supply_register(&pdev->dev, &pcf50633_mbc_ac_desc, in pcf50633_mbc_probe()
437 if (IS_ERR(mbc->ac)) { in pcf50633_mbc_probe()
438 dev_err(mbc->pcf->dev, "failed to register ac\n"); in pcf50633_mbc_probe()
439 power_supply_unregister(mbc->adapter); in pcf50633_mbc_probe()
440 power_supply_unregister(mbc->usb); in pcf50633_mbc_probe()
441 ret = PTR_ERR(mbc->ac); in pcf50633_mbc_probe()
447 dev_err(mbc->pcf->dev, "failed to create sysfs entries\n"); in pcf50633_mbc_probe()
449 mbcs1 = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCS1); in pcf50633_mbc_probe()
451 pcf50633_mbc_irq_handler(PCF50633_IRQ_USBINS, mbc); in pcf50633_mbc_probe()
453 pcf50633_mbc_irq_handler(PCF50633_IRQ_ADPINS, mbc); in pcf50633_mbc_probe()
460 struct pcf50633_mbc *mbc = platform_get_drvdata(pdev); in pcf50633_mbc_remove() local
465 pcf50633_free_irq(mbc->pcf, mbc_irq_handlers[i]); in pcf50633_mbc_remove()
468 power_supply_unregister(mbc->usb); in pcf50633_mbc_remove()
469 power_supply_unregister(mbc->adapter); in pcf50633_mbc_remove()
470 power_supply_unregister(mbc->ac); in pcf50633_mbc_remove()