> Is there a good and generic way with Linux to tell the battery to stop charging at 80%
There is, if your device contains a Texas Instruments charging chip. Many Laptops, not only Thinkpads, use them and they can be told a maximal charge voltage via SMBus.
You don't even need a kernel module for this, but its source might be a good starting point.
Please let me know if you write (or know of) a tool for this or need some help regarding SMBus/TI datasheets.