Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e7143fdb authored by Sebastian Reichel's avatar Sebastian Reichel
Browse files

Merge branch 'fixes' into next

parents bc352686 a7117f81
Loading
Loading
Loading
Loading
+20 −2
Original line number Original line Diff line number Diff line
@@ -226,6 +226,7 @@ static struct power_supply micro_ac_power = {
static int micro_batt_probe(struct platform_device *pdev)
static int micro_batt_probe(struct platform_device *pdev)
{
{
	struct micro_battery *mb;
	struct micro_battery *mb;
	int ret;


	mb = devm_kzalloc(&pdev->dev, sizeof(*mb), GFP_KERNEL);
	mb = devm_kzalloc(&pdev->dev, sizeof(*mb), GFP_KERNEL);
	if (!mb)
	if (!mb)
@@ -233,14 +234,30 @@ static int micro_batt_probe(struct platform_device *pdev)


	mb->micro = dev_get_drvdata(pdev->dev.parent);
	mb->micro = dev_get_drvdata(pdev->dev.parent);
	mb->wq = create_singlethread_workqueue("ipaq-battery-wq");
	mb->wq = create_singlethread_workqueue("ipaq-battery-wq");
	if (!mb->wq)
		return -ENOMEM;

	INIT_DELAYED_WORK(&mb->update, micro_battery_work);
	INIT_DELAYED_WORK(&mb->update, micro_battery_work);
	platform_set_drvdata(pdev, mb);
	platform_set_drvdata(pdev, mb);
	queue_delayed_work(mb->wq, &mb->update, 1);
	queue_delayed_work(mb->wq, &mb->update, 1);
	power_supply_register(&pdev->dev, &micro_batt_power);

	power_supply_register(&pdev->dev, &micro_ac_power);
	ret = power_supply_register(&pdev->dev, &micro_batt_power);
	if (ret < 0)
		goto batt_err;

	ret = power_supply_register(&pdev->dev, &micro_ac_power);
	if (ret < 0)
		goto ac_err;


	dev_info(&pdev->dev, "iPAQ micro battery driver\n");
	dev_info(&pdev->dev, "iPAQ micro battery driver\n");
	return 0;
	return 0;

ac_err:
	power_supply_unregister(&micro_ac_power);
batt_err:
	cancel_delayed_work_sync(&mb->update);
	destroy_workqueue(mb->wq);
	return ret;
}
}


static int micro_batt_remove(struct platform_device *pdev)
static int micro_batt_remove(struct platform_device *pdev)
@@ -251,6 +268,7 @@ static int micro_batt_remove(struct platform_device *pdev)
	power_supply_unregister(&micro_ac_power);
	power_supply_unregister(&micro_ac_power);
	power_supply_unregister(&micro_batt_power);
	power_supply_unregister(&micro_batt_power);
	cancel_delayed_work_sync(&mb->update);
	cancel_delayed_work_sync(&mb->update);
	destroy_workqueue(mb->wq);


	return 0;
	return 0;
}
}
+3 −1
Original line number Original line Diff line number Diff line
@@ -417,8 +417,10 @@ static int lp8788_psy_register(struct platform_device *pdev,
	pchg->battery.num_properties = ARRAY_SIZE(lp8788_battery_prop);
	pchg->battery.num_properties = ARRAY_SIZE(lp8788_battery_prop);
	pchg->battery.get_property = lp8788_battery_get_property;
	pchg->battery.get_property = lp8788_battery_get_property;


	if (power_supply_register(&pdev->dev, &pchg->battery))
	if (power_supply_register(&pdev->dev, &pchg->battery)) {
		power_supply_unregister(&pchg->charger);
		return -EPERM;
		return -EPERM;
	}


	return 0;
	return 0;
}
}
+5 −2
Original line number Original line Diff line number Diff line
@@ -192,6 +192,7 @@ static int twl4030_madc_battery_probe(struct platform_device *pdev)
{
{
	struct twl4030_madc_battery *twl4030_madc_bat;
	struct twl4030_madc_battery *twl4030_madc_bat;
	struct twl4030_madc_bat_platform_data *pdata = pdev->dev.platform_data;
	struct twl4030_madc_bat_platform_data *pdata = pdev->dev.platform_data;
	int ret = 0;


	twl4030_madc_bat = kzalloc(sizeof(*twl4030_madc_bat), GFP_KERNEL);
	twl4030_madc_bat = kzalloc(sizeof(*twl4030_madc_bat), GFP_KERNEL);
	if (!twl4030_madc_bat)
	if (!twl4030_madc_bat)
@@ -216,9 +217,11 @@ static int twl4030_madc_battery_probe(struct platform_device *pdev)


	twl4030_madc_bat->pdata = pdata;
	twl4030_madc_bat->pdata = pdata;
	platform_set_drvdata(pdev, twl4030_madc_bat);
	platform_set_drvdata(pdev, twl4030_madc_bat);
	power_supply_register(&pdev->dev, &twl4030_madc_bat->psy);
	ret = power_supply_register(&pdev->dev, &twl4030_madc_bat->psy);
	if (ret < 0)
		kfree(twl4030_madc_bat);


	return 0;
	return ret;
}
}


static int twl4030_madc_battery_remove(struct platform_device *pdev)
static int twl4030_madc_battery_remove(struct platform_device *pdev)