+#if POWEROFF_CHARGING_ANIMATION
+ int pwr_cnt = 0;
+ struct rk30_adc_battery_platform_data *batt_plat_data = &rk30_adc_battery_platdata;
+ if (gpio_get_value (batt_plat_data->dc_det_pin) ==
+ batt_plat_data->dc_det_level) {
+ printk("AC Charging, try to restart...\n");
+ while (1) {
+ if (gpio_get_value (batt_plat_data->dc_det_pin) !=
+ batt_plat_data->dc_det_level ) {
+ pwr_cnt = 0;
+ break;
+ }
+ if (pwr_cnt++ > 40)
+ break;
+ mdelay(50);
+ }
+ if (pwr_cnt > 40) {
+ printk("AC Charging, will restart system...\n");
+ arm_pm_restart(0, NULL);
+ }
+ }
+#endif
+
+ printk("rk30_pm_power_off start...\n");