On 12-09-27 01:20 AM, Anton Vorontsov wrote: > On Tue, Sep 25, 2012 at 10:12:24AM -0600, mathieu.poir...@linaro.org wrote: >> From: Michel JAOUEN <michel.jao...@stericsson.com> >> >> Add new sysfs interface to get current charge status >> >> Signed-off-by: Michel JAOUEN <michel.jao...@stericsson.com> >> Signed-off-by: Loic Pallardy <loic.palla...@stericsson.com> >> Signed-off-by: Mathieu Poirier <mathieu.poir...@linaro.org> >> Reviewed-by: Marcus COOPER <marcus.xm.coo...@stericsson.com> >> Reviewed-by: Olivier CLERGEAUD <olivier.clerge...@stericsson.com> >> Reviewed-by: Jonas ABERG <jonas.ab...@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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/