Hi Greg, Today's linux-next merge of the driver-core tree got a conflict in drivers/power/ab8500_btemp.c between commit bd9e8ab2d58d ("ab8500: Add devicetree support for btemp") from the battery tree and commit c8afa6406e60 ("power: remove use of __devinit") from the driver-core tree. I fixed it up (see below) and can carry the fix as necessary (no action is required). -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx diff --cc drivers/power/ab8500_btemp.c index 8135542,989b099..0000000 --- a/drivers/power/ab8500_btemp.c +++ b/drivers/power/ab8500_btemp.c @@@ -959,39 -960,21 +959,39 @@@ static int ab8500_btemp_remove(struct p return 0; } +static char *supply_interface[] = { + "ab8500_chargalg", + "ab8500_fg", +}; + - static int __devinit ab8500_btemp_probe(struct platform_device *pdev) + static int ab8500_btemp_probe(struct platform_device *pdev) { + struct device_node *np = pdev->dev.of_node; + struct ab8500_btemp *di; int irq, i, ret = 0; u8 val; - struct abx500_bm_plat_data *plat_data = pdev->dev.platform_data; - struct ab8500_btemp *di; - - if (!plat_data) { - dev_err(&pdev->dev, "No platform data\n"); - return -EINVAL; - } - di = kzalloc(sizeof(*di), GFP_KERNEL); - if (!di) + di = devm_kzalloc(&pdev->dev, sizeof(*di), GFP_KERNEL); + if (!di) { + dev_err(&pdev->dev, "%s no mem for ab8500_btemp\n", __func__); return -ENOMEM; + } + di->bat = pdev->mfd_cell->platform_data; + if (!di->bat) { + if (np) { + ret = bmdevs_of_probe(&pdev->dev, np, &di->bat); + if (ret) { + dev_err(&pdev->dev, + "failed to get battery information\n"); + return ret; + } + } else { + dev_err(&pdev->dev, "missing dt node for ab8500_btemp\n"); + return -EINVAL; + } + } else { + dev_info(&pdev->dev, "falling back to legacy platform data\n"); + } /* get parent data */ di->dev = &pdev->dev; @@@ -1096,14 -1096,12 +1096,14 @@@ free_btemp_wq return ret; } +static const struct of_device_id ab8500_btemp_match[] = { + { .compatible = "stericsson,ab8500-btemp", }, + { }, +}; + static struct platform_driver ab8500_btemp_driver = { .probe = ab8500_btemp_probe, - .remove = __devexit_p(ab8500_btemp_remove), + .remove = ab8500_btemp_remove, .suspend = ab8500_btemp_suspend, .resume = ab8500_btemp_resume, .driver = {
Attachment:
pgpvEGloLo52z.pgp
Description: PGP signature