static struct system_pmic_dev *system_pmic_dev;
+void (*soc_specific_power_off)(void);
+EXPORT_SYMBOL(soc_specific_power_off);
+
static void system_pmic_power_reset(void)
{
system_pmic_dev->ops->power_reset(system_pmic_dev->pmic_drv_data);
system_pmic_dev->power_on_data[i]);
}
system_pmic_dev->ops->power_off(system_pmic_dev->pmic_drv_data);
+ if (soc_specific_power_off) {
+ dev_err(system_pmic_dev->pmic_dev,
+ "SoC specific power off sequence\n");
+ soc_specific_power_off();
+ }
+
dev_err(system_pmic_dev->pmic_dev,
"System PMIC is not able to power off system\n");
while (1);
void (*power_off)(void *pmic_data);
};
+extern void (*soc_specific_power_off)(void);
+
extern struct system_pmic_dev *system_pmic_register(struct device *dev,
struct system_pmic_ops *ops, struct system_pmic_config *config,
void *drv_data);