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]
Message-ID: <20090729103659.GI19257@buzzloop.caiaq.de>
Date:	Wed, 29 Jul 2009 12:36:59 +0200
From:	Daniel Mack <daniel@...aq.de>
To:	ian@...menth.co.uk
Cc:	linux-kernel@...r.kernel.org, Anton Vorontsov <cbou@...l.ru>,
	Matt Reimer <mreimer@...p.net>
Subject: Re: [PATCH 1/2] power_supply: get_by_name and set_charged
	functionality

On Wed, Jul 29, 2009 at 11:29:48AM +0100, Ian molton wrote:
> Looks ok. the only comment I have right now is that the comment doesnt  
> quite match the patch - it suggests that the patch doesnt include the  
> power_supply_set_battery_charged() function, when it does in fact.

The subject mentions it, and the body references it again. Hmm. Anyway.
Want me to resend? Or could the commiter add another sentence to point
that out? I think that would be Anton, as he agreed to pick all the
other patches I recently sent in.

Thanks,
Daniel


>> On Thu, Jul 23, 2009 at 08:35:53PM +0200, Daniel Mack wrote:
>>> This adds a function to get a power_supply device from the class of
>>> registered devices by name reference. It can be used to find a specific
>>> battery to call power_supply_set_battery_charged() on.
>>>
>>> Some battery drivers might need that information to calibrate
>>> themselves.
>>>
>>> Signed-off-by: Daniel Mack <daniel@...aq.de>
>>> Cc: Ian Molton <spyro@....com>
>>> Cc: Anton Vorontsov <cbou@...l.ru>
>>> Cc: Matt Reimer <mreimer@...p.net>
>>> ---
>>>  drivers/power/power_supply_core.c |   28 ++++++++++++++++++++++++++++
>>>  include/linux/power_supply.h      |    3 +++
>>>  2 files changed, 31 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/drivers/power/power_supply_core.c b/drivers/power/power_supply_core.c
>>> index 58f10ac..ddb4800 100644
>>> --- a/drivers/power/power_supply_core.c
>>> +++ b/drivers/power/power_supply_core.c
>>> @@ -117,6 +117,34 @@ int power_supply_is_system_supplied(void)
>>>  }
>>>  EXPORT_SYMBOL_GPL(power_supply_is_system_supplied);
>>>  +int power_supply_set_battery_charged(struct power_supply *psy)
>>> +{
>>> +	if (psy->type == POWER_SUPPLY_TYPE_BATTERY && psy->set_charged) {
>>> +		psy->set_charged(psy);
>>> +		return 0;
>>> +	}
>>> +
>>> +	return -EINVAL;
>>> +}
>>> +EXPORT_SYMBOL_GPL(power_supply_set_battery_charged);
>>> +
>>> +static int power_supply_match_device_by_name(struct device *dev, void *data)
>>> +{
>>> +	const char *name = data;
>>> +	struct power_supply *psy = dev_get_drvdata(dev);
>>> +
>>> +	return strcmp(psy->name, name) == 0;
>>> +}
>>> +
>>> +struct power_supply *power_supply_get_by_name(char *name)
>>> +{
>>> +	struct device *dev = class_find_device(power_supply_class, NULL, name,
>>> +					power_supply_match_device_by_name);
>>> +
>>> +	return dev ? dev_get_drvdata(dev) : NULL;
>>> +}
>>> +EXPORT_SYMBOL_GPL(power_supply_get_by_name);
>>> +
>>>  int power_supply_register(struct device *parent, struct power_supply *psy)
>>>  {
>>>  	int rc = 0;
>>> diff --git a/include/linux/power_supply.h b/include/linux/power_supply.h
>>> index 594c494..49f3296 100644
>>> --- a/include/linux/power_supply.h
>>> +++ b/include/linux/power_supply.h
>>> @@ -126,6 +126,7 @@ struct power_supply {
>>>  			    enum power_supply_property psp,
>>>  			    union power_supply_propval *val);
>>>  	void (*external_power_changed)(struct power_supply *psy);
>>> +	void (*set_charged)(struct power_supply *psy);
>>>   	/* For APM emulation, think legacy userspace. */
>>>  	int use_for_apm;
>>> @@ -165,8 +166,10 @@ struct power_supply_info {
>>>  	int use_for_apm;
>>>  };
>>>  +extern struct power_supply *power_supply_get_by_name(char *name);
>>>  extern void power_supply_changed(struct power_supply *psy);
>>>  extern int power_supply_am_i_supplied(struct power_supply *psy);
>>> +extern int power_supply_set_battery_charged(struct power_supply *psy);
>>>   #if defined(CONFIG_POWER_SUPPLY) || 
>>> defined(CONFIG_POWER_SUPPLY_MODULE)
>>>  extern int power_supply_is_system_supplied(void);
>>> -- 
>
--
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