switch (d->action) {
        case CPCAP_BATTERY_IRQ_ACTION_BATTERY_LOW:
                if (latest->current_ua >= 0)
-                       dev_warn(ddata->dev, "Battery low at 3.3V!\n");
+                       dev_warn(ddata->dev, "Battery low at %imV!\n",
+                               latest->voltage / 1000);
                break;
        case CPCAP_BATTERY_IRQ_ACTION_POWEROFF:
-               if (latest->current_ua >= 0) {
+               if (latest->current_ua >= 0 && latest->voltage <= 3200000) {
                        dev_emerg(ddata->dev,
-                                 "Battery empty at 3.1V, powering off\n");
+                                 "Battery empty at %imV, powering off\n",
+                                 latest->voltage / 1000);
                        orderly_poweroff(true);
                }
                break;