Lines Matching defs:mbc
23 #include <linux/mfd/pcf50633/mbc.h>
38 struct pcf50633_mbc *mbc = platform_get_drvdata(pcf->mbc_pdev);
76 if (mbc->pcf->pdata->charger_reference_current_ma) {
77 mbcc5 = (ma << 8) / mbc->pcf->pdata->charger_reference_current_ma;
80 pcf50633_reg_write(mbc->pcf, PCF50633_REG_MBCC5, mbcc5);
83 mbcs2 = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCS2);
100 power_supply_changed(mbc->usb);
108 struct pcf50633_mbc *mbc = platform_get_drvdata(pcf->mbc_pdev);
112 if (!mbc)
115 chgmod = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCS2)
118 if (mbc->usb_online)
125 if (mbc->adapter_online)
139 struct pcf50633_mbc *mbc = platform_get_drvdata(pcf->mbc_pdev);
141 if (!mbc)
144 return mbc->usb_online;
151 struct pcf50633_mbc *mbc = dev_get_drvdata(dev);
153 u8 mbcs2 = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCS2);
163 struct pcf50633_mbc *mbc = dev_get_drvdata(dev);
164 u8 usblim = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCC7) &
183 struct pcf50633_mbc *mbc = dev_get_drvdata(dev);
191 pcf50633_mbc_usb_curlim_set(mbc->pcf, ma);
201 struct pcf50633_mbc *mbc = dev_get_drvdata(dev);
202 u8 mbcc5 = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCC5);
205 if (!mbc->pcf->pdata->charger_reference_current_ma)
208 ma = (mbc->pcf->pdata->charger_reference_current_ma * mbcc5) >> 8;
216 struct pcf50633_mbc *mbc = dev_get_drvdata(dev);
221 if (!mbc->pcf->pdata->charger_reference_current_ma)
228 mbcc5 = (ma << 8) / mbc->pcf->pdata->charger_reference_current_ma;
231 pcf50633_reg_write(mbc->pcf, PCF50633_REG_MBCC5, mbcc5);
255 struct pcf50633_mbc *mbc = data;
259 mbc->usb_online = 1;
261 mbc->usb_online = 0;
262 pcf50633_mbc_usb_curlim_set(mbc->pcf, 0);
267 mbc->adapter_online = 1;
269 mbc->adapter_online = 0;
271 power_supply_changed(mbc->ac);
272 power_supply_changed(mbc->usb);
273 power_supply_changed(mbc->adapter);
275 if (mbc->pcf->pdata->mbc_event_callback)
276 mbc->pcf->pdata->mbc_event_callback(mbc->pcf, irq);
283 struct pcf50633_mbc *mbc = power_supply_get_drvdata(psy);
288 val->intval = mbc->adapter_online;
301 struct pcf50633_mbc *mbc = power_supply_get_drvdata(psy);
303 u8 usblim = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCC7) &
308 val->intval = mbc->usb_online &&
322 struct pcf50633_mbc *mbc = power_supply_get_drvdata(psy);
324 u8 usblim = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCC7) &
329 val->intval = mbc->usb_online &&
386 struct pcf50633_mbc *mbc;
390 mbc = devm_kzalloc(&pdev->dev, sizeof(*mbc), GFP_KERNEL);
391 if (!mbc)
394 platform_set_drvdata(pdev, mbc);
395 mbc->pcf = dev_to_pcf50633(pdev->dev.parent);
399 pcf50633_register_irq(mbc->pcf, mbc_irq_handlers[i],
400 pcf50633_mbc_irq_handler, mbc);
402 psy_cfg.supplied_to = mbc->pcf->pdata->batteries;
403 psy_cfg.num_supplicants = mbc->pcf->pdata->num_batteries;
404 psy_cfg.drv_data = mbc;
407 mbc->adapter = power_supply_register(&pdev->dev,
410 if (IS_ERR(mbc->adapter)) {
411 dev_err(mbc->pcf->dev, "failed to register adapter\n");
412 return PTR_ERR(mbc->adapter);
418 mbc->usb = power_supply_register(&pdev->dev, &pcf50633_mbc_usb_desc,
420 if (IS_ERR(mbc->usb)) {
421 dev_err(mbc->pcf->dev, "failed to register usb\n");
422 power_supply_unregister(mbc->adapter);
423 return PTR_ERR(mbc->usb);
426 mbc->ac = power_supply_register(&pdev->dev, &pcf50633_mbc_ac_desc,
428 if (IS_ERR(mbc->ac)) {
429 dev_err(mbc->pcf->dev, "failed to register ac\n");
430 power_supply_unregister(mbc->adapter);
431 power_supply_unregister(mbc->usb);
432 return PTR_ERR(mbc->ac);
435 mbcs1 = pcf50633_reg_read(mbc->pcf, PCF50633_REG_MBCS1);
437 pcf50633_mbc_irq_handler(PCF50633_IRQ_USBINS, mbc);
439 pcf50633_mbc_irq_handler(PCF50633_IRQ_ADPINS, mbc);
446 struct pcf50633_mbc *mbc = platform_get_drvdata(pdev);
451 pcf50633_free_irq(mbc->pcf, mbc_irq_handlers[i]);
453 power_supply_unregister(mbc->usb);
454 power_supply_unregister(mbc->adapter);
455 power_supply_unregister(mbc->ac);
462 .name = "pcf50633-mbc",
471 MODULE_DESCRIPTION("PCF50633 mbc driver");
473 MODULE_ALIAS("platform:pcf50633-mbc");