Monitoring and controlling charging from software gives more flexibility in battery charging. The battery properties will vary from battery to battery. By using software methods, the charging algorithm can be selected based on the battery properties and the charging phase. The concept of Linux charging subsystem is to enhance the existing Linux Power Supply subsystem to give more flexibility in charging. This framework will introduce features to identify battery, read battery profile, support pluggable charging algorithms and select algorithms based on charger and battery properties. The solution will connect different components in the Linux Subsystem (Power Supply, Extcon, Thermal) to give a generic charging solution. This paper describes the features of the charger framework and how this will improve the existing charging solution.