Re: [PATCH 3/4] power_supply: Introduce PSE compliant algorithm

From: Jenny Tc
Date: Sun Mar 02 2014 - 22:11:55 EST


On Fri, Feb 28, 2014 at 11:08:16AM +0100, Pavel Machek wrote:
> On Fri 2014-02-28 08:37:27, Jenny Tc wrote:
> > On Thu, Feb 27, 2014 at 09:18:57PM +0100, Linus Walleij wrote:
> > > On Tue, Feb 4, 2014 at 6:12 AM, Jenny TC <jenny.tc@xxxxxxxxx> wrote:
> > >
> > > > +static inline bool __is_battery_full
> > > > + (long volt, long cur, long iterm, unsigned long cv)
> > >
> > > Overall I wonder if you've run checkpatch on these patches, but why
> > > are you naming this one function with a double __underscore?
> > > Just is_battery_full_check() or something would work fine I guess?
> >
> > Just to convey that is_battery_full is a local function and not generic. You
> > can find similar usage in power_supply_core.c (__power_supply_changed_work)
> > and in other drivers. Isn't it advised to have __ prefixes?
>
> It is static; everybody sees it is local. __ prefix usually means
> something else.

Agreed, I will remove the __ prefix in next patchset. Meanwhile I would
appreciate if anyone could help me to understand what __ prefix really means.

> > > > + u16 capacity; /* mAh */
> > > > + u16 voltage_max; /* mV */
> > > > + /* charge termination current */
> > > > + u16 chrg_term_mA;
> > > > + /* Low battery level voltage */
> > > > + u16 low_batt_mV;
> > > > + /* upper and lower temperature limits on discharging */
> > > > + s8 disch_temp_ul; /* Degree Celsius */
> > > > + s8 disch_temp_ll; /* Degree Celsius */
> > > > + /* number of temperature monitoring ranges */
> > > > + u16 temp_mon_ranges;
> > > > + struct psy_ps_temp_chg_table temp_mon_range[BATT_TEMP_NR_RNG];
> > > > + /* lowest temperature supported */
> > > > + s8 temp_low_lim;
> > > > +} __packed;
> > >
> > > Why packed, and convert to kerneldoc for this struct.
> >
> > Battery charging profile, may come from EEPROM/emmc which would be packed.
>
> Do you need to do endianness conversion, too?

May/may not depending on the stored format. If needed, the endianess conversion
should be done at driver level where the EEPROM/emmc reading happens.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/