On Fri, Jul 22, 2022 at 12:25 PM ChiaEn Wu <peterwu.pub@xxxxxxxxx> wrote: Forgot to add a couple of things... ... > +#define MT6370_ITORCH_MIN_UA 25000 > +#define MT6370_ITORCH_STEP_UA 12500 > +#define MT6370_ITORCH_MAX_UA 400000 > +#define MT6370_ITORCH_DOUBLE_MAX_UA 800000 > +#define MT6370_ISTRB_MIN_UA 50000 > +#define MT6370_ISTRB_STEP_UA 12500 > +#define MT6370_ISTRB_MAX_UA 1500000 > +#define MT6370_ISTRB_DOUBLE_MAX_UA 3000000 Perhaps _uA would be better and consistent across your series regarding current units. ... > + /* > + * For the flash to turn on/off, need to wait HW ramping up/down time we need > + * 5ms/500us to prevent the unexpected problem. > + */ > + if (!prev && curr) > + usleep_range(5000, 6000); > + else if (prev && !curr) > + udelay(500); This still remains unanswered, why in the first place we allow switching, and a busy loop in the other place? -- With Best Regards, Andy Shevchenko