Design of a variable linear driver for the DV-S9 diving flashlight, the driver is capable of handling currents of up to 3 A the input voltage range is between 3V and 4.2V, and has low standby current. The driver achieves an efficiency of between 90% and 70% at maximum current. This design is open source hardware.
Post where the design is esplained: https://luicer.github.io/led%20flashlight/Flashlight-Driver-Lineal-eng/