lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 27 Feb 2014 21:18:57 +0100
From:	Linus Walleij <linus.walleij@...aro.org>
To:	Jenny TC <jenny.tc@...el.com>
Cc:	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Dmitry Eremin-Solenikov <dbaryshkov@...il.com>,
	Anton Vorontsov <cbouatmailru@...il.com>,
	Anton Vorontsov <anton.vorontsov@...aro.org>,
	Kim Milo <Milo.Kim@...com>, Lee Jones <lee.jones@...aro.org>,
	Jingoo Han <jg1.han@...sung.com>,
	Chanwoo Choi <cw00.choi@...sung.com>,
	Sachin Kamat <sachin.kamat@...aro.org>,
	Lars-Peter Clausen <lars@...afoo.de>,
	Pali Rohár <pali.rohar@...il.com>,
	Rhyland Klein <rklein@...dia.com>, Pavel Machek <pavel@....cz>,
	"Rafael J. Wysocki" <rjw@...ysocki.net>,
	David Woodhouse <dwmw2@...radead.org>,
	Tony Lindgren <tony@...mide.com>,
	Russell King <linux@....linux.org.uk>,
	Sebastian Reichel <sre@...g0.de>,
	Aaro Koskinen <aaro.koskinen@....fi>,
	Pallala Ramakrishna <ramakrishna.pallala@...el.com>,
	Ивайло Димитров <freemangordon@....bg>,
	Linux-OMAP <linux-omap@...r.kernel.org>
Subject: Re: [PATCH 3/4] power_supply: Introduce PSE compliant algorithm

On Tue, Feb 4, 2014 at 6:12 AM, Jenny TC <jenny.tc@...el.com> 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?

(...)
> +/* Parameters defining the charging range */
> +struct psy_ps_temp_chg_table {
> +       /* upper temperature limit for each zone */
> +       short int temp_up_lim; /* Degree Celsius */
> +
> +       /* charge current and voltage */
> +       short int full_chrg_vol; /* mV */
> +       short int full_chrg_cur; /* mA */
> +
> +       /*
> +       *  Maintenance charging thresholds.
> +       *  Maintenance charging voltage lower limit - Once battery hits full,
> +       *  charging will be resumed when battery voltage <= this voltage
> +       */
> +       short int maint_chrg_vol_ll; /* mV */
> +
> +       /* Charge current and voltage in maintenance charging mode */
> +       short int maint_chrg_vol_ul; /* mV */
> +       short int maint_chrg_cur;   /* mA */
> +} __packed;

Why are you packing these structs? If no real reason, remove it.
The compiler will pack what it thinks is appropriate anyway.

Convert all comments to kerneldoc.

> +#define BATTID_STR_LEN         8
> +#define BATT_TEMP_NR_RNG       6
> +
> +struct psy_pse_chrg_prof {
> +       /* battery id */
> +       char batt_id[BATTID_STR_LEN];
> +       u16 battery_type; /* Defined as POWER_SUPPLY_TECHNOLOGY_* */

Use a named enum by patching that in <linux/power_supply.h>?

> +       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.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ