},
};
-static struct twl4030_bci_platform_data pandora_bci_data;
+static char *pandora_power_supplied_to[] = {
+ "bq27500-0",
+};
+
+static struct twl4030_bci_platform_data pandora_bci_data = {
+ .supplied_to = pandora_power_supplied_to,
+ .num_supplicants = ARRAY_SIZE(pandora_power_supplied_to),
+};
static struct twl4030_power_data pandora_power_data = {
.use_poweroff = 1,
static int __init twl4030_bci_probe(struct platform_device *pdev)
{
+ const struct twl4030_bci_platform_data *pdata = pdev->dev.platform_data;
struct twl4030_bci *bci;
int ret;
u32 reg;
+ if (pdata == NULL) {
+ dev_err(&pdev->dev, "No platform data\n");
+ return -EINVAL;
+ }
+
bci = kzalloc(sizeof(*bci), GFP_KERNEL);
if (bci == NULL)
return -ENOMEM;
bci->ac.properties = twl4030_charger_props;
bci->ac.num_properties = ARRAY_SIZE(twl4030_charger_props);
bci->ac.get_property = twl4030_bci_get_property;
+ bci->ac.supplied_to = pdata->supplied_to;
+ bci->ac.num_supplicants = pdata->num_supplicants;
ret = power_supply_register(&pdev->dev, &bci->ac);
if (ret) {
bci->usb.properties = twl4030_charger_props;
bci->usb.num_properties = ARRAY_SIZE(twl4030_charger_props);
bci->usb.get_property = twl4030_bci_get_property;
+ bci->usb.supplied_to = pdata->supplied_to;
+ bci->usb.num_supplicants = pdata->num_supplicants;
ret = power_supply_register(&pdev->dev, &bci->usb);
if (ret) {
struct twl4030_bci_platform_data {
int *battery_tmp_tbl;
unsigned int tblsize;
+ char **supplied_to;
+ size_t num_supplicants;
};
/* TWL4030_GPIO_MAX (18) GPIOs, with interrupts */