On July 3, 2015 16:22, Lee Jones wrote: > > +/* > > + * Function template to provide battery temperature. Should provide > > + * 0.1 degrees C resolution return values. > > + */ > > +typedef int (*da9150_read_temp_t)(void *context); > > + > > +/* Register temp callback function */ > > +void da9150_fg_register_temp_cb(struct power_supply *psy, > da9150_read_temp_t cb, > > + void *cb_context); > > + > > #endif /* __DA9150_FG_H */ > > I still don't get why you think pointers are better than just calling > the function directly. Can the *fn() ever point to different functions? Here, the intention is to cover the scenario where a battery has no internal thermistor, and cannot provide temperature readings to the DA9150 device. In that scenario I've allowed for the option of providing an external function which can give the temperature reading instead as DA9150 will not be able to provide a correct reading in that scenario. This would be platform dependent and such a platform using a battery not employing an NTC in their battery can register its own call-back function to provide battery temperature instead. So, in answer to your question, yes. ��.n��������+%������w��{.n����z�{��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f