Linux on ARM based TI OMAP SoCs
 help / color / mirror / Atom feed
From: Jenny Tc <jenny.tc@intel.com>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Dmitry Eremin-Solenikov" <dbaryshkov@gmail.com>,
	"Anton Vorontsov" <cbouatmailru@gmail.com>,
	"Anton Vorontsov" <anton.vorontsov@linaro.org>,
	"Kim Milo" <Milo.Kim@ti.com>, "Lee Jones" <lee.jones@linaro.org>,
	"Jingoo Han" <jg1.han@samsung.com>,
	"Chanwoo Choi" <cw00.choi@samsung.com>,
	"Sachin Kamat" <sachin.kamat@linaro.org>,
	"Lars-Peter Clausen" <lars@metafoo.de>,
	"Pali Rohár" <pali.rohar@gmail.com>,
	"Rhyland Klein" <rklein@nvidia.com>,
	"Pavel Machek" <pavel@ucw.cz>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	"David Woodhouse" <dwmw2@infradead.org>,
	"Tony Lindgren" <tony@atomide.com>,
	"Russell King" <linux@arm.linux.org.uk>,
	"Sebastian Reichel" <sre@ring0.de>,
	"Aaro Koskinen" <aaro.koskinen@iki.fi>,
	"Pallala Ramakrishna" <ramakrishna.pallala@intel.com>,
	"Ивайло Димитров" <freemangordon@a>
Subject: Re: [PATCH 3/4] power_supply: Introduce PSE compliant algorithm
Date: Fri, 28 Feb 2014 08:37:27 +0530	[thread overview]
Message-ID: <20140228030727.GB27921@jenny-desktop> (raw)
In-Reply-To: <CACRpkdbppewuSSJu=Y=1T7oOCxz_ynhNspyPT=S894KoUB6H6g@mail.gmail.com>

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@intel.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?

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?
> (...)
> > +/* 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.

The structure is part of the  battery charging profile which can be read directly
from an EEPROM or from secondary storage (emmc). So it should be packed to keep
it align with the stored format.

> > +#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>?

This is to convey that battery_type takes value as defined by
POWER_SUPPLY_TECHNOLOGY_*
> 
> > +       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.

  reply	other threads:[~2014-02-28  3:07 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-04  5:12 [PATCH v5 0/4] power_supply: Introduce power supply charging driver Jenny TC
2014-02-04  5:12 ` [PATCH 1/4] power_supply: Add inlmt,iterm, min/max temp props Jenny TC
2014-02-04  5:12 ` [PATCH 2/4] power_supply: Introduce generic psy charging driver Jenny TC
2014-02-04 11:36   ` Pavel Machek
2014-02-05  8:14     ` Jenny Tc
2014-02-12 11:00       ` Pavel Machek
2014-02-13  0:51         ` Jingoo Han
2014-02-04  5:12 ` [PATCH 3/4] power_supply: Introduce PSE compliant algorithm Jenny TC
2014-02-04 11:36   ` Pavel Machek
2014-02-20  5:16     ` Jenny Tc
2014-02-21 14:45       ` Pavel Machek
2014-02-26  2:54         ` Jenny Tc
2014-02-27 19:47           ` Linus Walleij
2014-02-28  2:52             ` Jenny Tc
2014-02-27 20:46           ` Pavel Machek
2014-02-27 20:18   ` Linus Walleij
2014-02-28  3:07     ` Jenny Tc [this message]
2014-02-28 10:08       ` Pavel Machek
2014-03-03  3:11         ` Jenny Tc
2014-03-03 10:42           ` Pavel Machek
2014-03-07  3:34       ` Linus Walleij
2014-03-07  3:43         ` Jenny Tc
2014-02-04  5:13 ` [PATCH 4/4] power_supply: bq24261 charger driver Jenny TC
2014-02-04 11:36   ` Pavel Machek
2014-02-20  5:03     ` Jenny Tc
2014-02-21 14:44       ` Pavel Machek
2014-02-25 11:51         ` Jenny Tc
  -- strict thread matches above, loose matches on Subject: below --
2014-02-20  5:53 [PATCH v6 0/4] power_supply: Introduce power supply charging driver Jenny TC
2014-02-20  5:53 ` [PATCH 3/4] power_supply: Introduce PSE compliant algorithm Jenny TC
2014-01-30 17:30 [PATCH v4 0/4] power_supply: Introduce power supply charging driver Jenny TC
2014-01-30 17:30 ` [PATCH 3/4] power_supply: Introduce PSE compliant algorithm Jenny TC
2014-01-22 17:19 [PATCH v3 0/4] power_supply: Introduce power supply charging driver Jenny TC
2014-01-22 17:19 ` [PATCH 3/4] power_supply: Introduce PSE compliant algorithm Jenny TC
2014-01-25 22:29   ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140228030727.GB27921@jenny-desktop \
    --to=jenny.tc@intel.com \
    --cc=Milo.Kim@ti.com \
    --cc=aaro.koskinen@iki.fi \
    --cc=anton.vorontsov@linaro.org \
    --cc=cbouatmailru@gmail.com \
    --cc=cw00.choi@samsung.com \
    --cc=dbaryshkov@gmail.com \
    --cc=dwmw2@infradead.org \
    --cc=freemangordon@a \
    --cc=jg1.han@samsung.com \
    --cc=lars@metafoo.de \
    --cc=lee.jones@linaro.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=pali.rohar@gmail.com \
    --cc=pavel@ucw.cz \
    --cc=ramakrishna.pallala@intel.com \
    --cc=rjw@rjwysocki.net \
    --cc=rklein@nvidia.com \
    --cc=sachin.kamat@linaro.org \
    --cc=sre@ring0.de \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox