lkml.org 
[lkml]   [2012]   [Sep]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 27/57] power: sysfs interface update
    On 12-09-27 01:20 AM, Anton Vorontsov wrote:
    > On Tue, Sep 25, 2012 at 10:12:24AM -0600, mathieu.poirier@linaro.org wrote:
    >> From: Michel JAOUEN <michel.jaouen@stericsson.com>
    >>
    >> Add new sysfs interface to get current charge status
    >>
    >> Signed-off-by: Michel JAOUEN <michel.jaouen@stericsson.com>
    >> Signed-off-by: Loic Pallardy <loic.pallardy@stericsson.com>
    >> Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
    >> Reviewed-by: Marcus COOPER <marcus.xm.cooper@stericsson.com>
    >> Reviewed-by: Olivier CLERGEAUD <olivier.clergeaud@stericsson.com>
    >> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
    >> ---
    >> drivers/power/ab8500_charger.c | 3 +++
    >> drivers/power/abx500_chargalg.c | 24 +++++++++++++++++++++++-
    >> 2 files changed, 26 insertions(+), 1 deletions(-)
    >>
    >> diff --git a/drivers/power/ab8500_charger.c b/drivers/power/ab8500_charger.c
    >> index 4129599..0a781a0 100644
    >> --- a/drivers/power/ab8500_charger.c
    >> +++ b/drivers/power/ab8500_charger.c
    >> @@ -2759,6 +2759,9 @@ static int ab8500_charger_usb_notifier_call(struct notifier_block *nb,
    >> enum ab8500_usb_state bm_usb_state;
    >> unsigned mA = *((unsigned *)power);
    >>
    >> + if (di == NULL)
    >> + return NOTIFY_DONE;
    >> +
    >
    > I'd write !di.

    Not sure I agree with you here. If di is NULL there is nothing to work
    with and as such, exit.

    >
    > [...]
    >> +static ssize_t abx500_chargalg_sysfs_show(struct kobject *kobj,
    >> + struct attribute *attr, char *buf)
    >> +{
    >> + struct abx500_chargalg *di = container_of(kobj,
    >> + struct abx500_chargalg, chargalg_kobject);
    >> +
    >> + if ((di->susp_status.ac_suspended == true) &&
    >> + (di->susp_status.usb_suspended == true))
    >> + return sprintf(buf, "0\n");
    >> + else
    >> + return sprintf(buf, "1\n");
    >
    > just
    >
    > return sprintf(buf, "%d\n", di->susp_status.ac_suspended &&
    > di->susp_status.usb_suspended);

    Much cleaner yes.

    >
    >> +}
    >> +
    >> /* Exposure to the sysfs interface */
    >>
    >> /**
    >> @@ -1749,7 +1770,7 @@ static ssize_t abx500_chargalg_sysfs_charger(struct kobject *kobj,
    >> static struct attribute abx500_chargalg_en_charger = \
    >> {
    >> .name = "chargalg",
    >> - .mode = S_IWUGO,
    >> + .mode = S_IRUGO | S_IWUSR,
    >> };
    >>
    >> static struct attribute *abx500_chargalg_chg[] = {
    >> @@ -1758,6 +1779,7 @@ static struct attribute *abx500_chargalg_chg[] = {
    >> };
    >>
    >> static const struct sysfs_ops abx500_chargalg_sysfs_ops = {
    >> + .show = abx500_chargalg_sysfs_show,
    >> .store = abx500_chargalg_sysfs_charger,
    >> };
    >>
    >> --
    >> 1.7.5.4



    \
     
     \ /
      Last update: 2012-09-28 21:01    [W:4.174 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site