[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140307034904.GB19526@jenny-desktop>
Date: Fri, 7 Mar 2014 09:19:04 +0530
From: Jenny Tc <jenny.tc@...el.com>
To: Linus Walleij <linus.walleij@...aro.org>
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 2/4] power_supply: Introduce generic psy charging driver
On Fri, Mar 07, 2014 at 11:03:02AM +0800, Linus Walleij wrote:
> On Fri, Feb 28, 2014 at 12:27 PM, Jenny Tc <jenny.tc@...el.com> wrote:
> > On Thu, Feb 27, 2014 at 09:08:01PM +0100, Linus Walleij wrote:
> >> On Thu, Feb 20, 2014 at 6:53 AM, Jenny TC <jenny.tc@...el.com> wrote:
> >>
> >> > +++ b/include/linux/power/power_supply_charger.h
> >>
> >> > +#define MAX_CUR_VOLT_SAMPLES 3
> >> > +#define DEF_CUR_VOLT_SAMPLE_JIFF (30*HZ)
> >>
> >> Why are things defined in Jiffies like this insead of seconds, milliseconds
> >> etc? This will vary with the current operating frequency of the system,
> >> why should physical measurements do that?
> >
> > Is it fine if I use msecs_to_jiffies(30000)?
>
> Keep the
> #define DEF_CUR_VOLT_SAMPLE_PERIOD 30000
>
> Then use msecs_to_jiffies(DEF_CUR_VOLT_SAMPLE_PERIOD)
> in the call site.
>
Ok..fine will fix it in next patch set
> >> > +enum psy_charger_cable_event {
> >> > + PSY_CHARGER_CABLE_EVENT_DISCONNECT = 0,
> >> > + PSY_CHARGER_CABLE_EVENT_CONNECT,
> >> > + PSY_CHARGER_CABLE_EVENT_UPDATE,
> >> > + PSY_CHARGER_CABLE_EVENT_RESUME,
> >> > + PSY_CHARGER_CABLE_EVENT_SUSPEND,
> >> > +};
> >> > +
> >> > +enum psy_charger_cable_type {
> >> > + PSY_CHARGER_CABLE_TYPE_NONE = 0,
> >> > + PSY_CHARGER_CABLE_TYPE_USB_SDP = 1 << 0,
> >> > + PSY_CHARGER_CABLE_TYPE_USB_DCP = 1 << 1,
> >> > + PSY_CHARGER_CABLE_TYPE_USB_CDP = 1 << 2,
> >> > + PSY_CHARGER_CABLE_TYPE_USB_ACA = 1 << 3,
> >> > + PSY_CHARGER_CABLE_TYPE_AC = 1 << 4,
> >> > + PSY_CHARGER_CABLE_TYPE_ACA_DOCK = 1 << 5,
> >> > + PSY_CHARGER_CABLE_TYPE_ACA_A = 1 << 6,
> >> > + PSY_CHARGER_CABLE_TYPE_ACA_B = 1 << 7,
> >> > + PSY_CHARGER_CABLE_TYPE_ACA_C = 1 << 8,
> >> > + PSY_CHARGER_CABLE_TYPE_SE1 = 1 << 9,
> >> > + PSY_CHARGER_CABLE_TYPE_MHL = 1 << 10,
> >> > + PSY_CHARGER_CABLE_TYPE_B_DEVICE = 1 << 11,
> >> > +};
> >>
> >> Why is this even an enum? It is clearly bitfields. I would just:
> >>
> >> #include <linux/bitops.h>
> >>
> >> #define PSY_CHARGER_CABLE_TYPE_NONE 0x0
> >> #define PSY_CHARGER_CABLE_TYPE_USB_SDP BIT(0)
> >> #define PSY_CHARGER_CABLE_TYPE_USB_DCP BIT(1)
> >> (etc)
> >
> > This is to ensure type checks when the cable types are handled, #defines will
> > not help in type checks.
>
> Type checks with static code check tools? But misrepresenting
> a bitfield as an enum just to satisfy a static code checker is not
> OK IMO.
not just for tools, compile time type checks also.
--
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