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]
Date:	Sat, 5 May 2012 20:25:54 -0700
From:	Anton Vorontsov <cbouatmailru@...il.com>
To:	Ramakrishna Pallala <ramakrishna.pallala@...el.com>
Cc:	linux-kernel@...r.kernel.org,
	Mika Westerberg <mika.westerberg@...ux.intel.com>
Subject: Re: [PATCH] smb347_charger: cleaned battery power supply attributes

On Sat, May 05, 2012 at 09:33:54PM +0530, Ramakrishna Pallala wrote:
> CURRENT_NOW and VOLTAGE_NOW should be instantaneous readings
> from power supply(ex: battery).
> 
> smb347 charger driver reports charge voltage for VOLTAGE_NOW
> and charge current for CURRENT_NOW attributes which are not
> instantaneous readings.

Em. While charging, I guess charge current == instantaneous battery
current? Should we then report it in such cases? And while discharging
and not charging, assuming that HW can't report the real battery
current flow, we can return some fancy errno code, like ENODATA?

Thanks,

> This patch removes the battery VOLTAGE_NOW and CURRENT_NOW
> properties from the driver and also removes hw_to_current()
> which is not required anymore.
> 
> Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@...el.com>
> ---
>  drivers/power/smb347-charger.c |   49 ----------------------------------------
>  1 files changed, 0 insertions(+), 49 deletions(-)
> 
> diff --git a/drivers/power/smb347-charger.c b/drivers/power/smb347-charger.c
> index cf31b31..09d19d2 100644
> --- a/drivers/power/smb347-charger.c
> +++ b/drivers/power/smb347-charger.c
> @@ -195,14 +195,6 @@ static const unsigned int ccc_tbl[] = {
>  	1200000,
>  };
>  
> -/* Convert register value to current using lookup table */
> -static int hw_to_current(const unsigned int *tbl, size_t size, unsigned int val)
> -{
> -	if (val >= size)
> -		return -EINVAL;
> -	return tbl[val];
> -}
> -
>  /* Convert current to register value using lookup table */
>  static int current_to_hw(const unsigned int *tbl, size_t size, unsigned int val)
>  {
> @@ -891,7 +883,6 @@ static int smb347_battery_get_property(struct power_supply *psy,
>  	struct smb347_charger *smb =
>  			container_of(psy, struct smb347_charger, battery);
>  	const struct smb347_charger_platform_data *pdata = smb->pdata;
> -	unsigned int v;
>  	int ret;
>  
>  	ret = smb347_update_ps_status(smb);
> @@ -943,44 +934,6 @@ static int smb347_battery_get_property(struct power_supply *psy,
>  		val->intval = pdata->battery_info.voltage_max_design;
>  		break;
>  
> -	case POWER_SUPPLY_PROP_VOLTAGE_NOW:
> -		if (!smb347_is_ps_online(smb))
> -			return -ENODATA;
> -		ret = regmap_read(smb->regmap, STAT_A, &v);
> -		if (ret < 0)
> -			return ret;
> -
> -		v &= STAT_A_FLOAT_VOLTAGE_MASK;
> -		if (v > 0x3d)
> -			v = 0x3d;
> -
> -		val->intval = 3500000 + v * 20000;
> -		break;
> -
> -	case POWER_SUPPLY_PROP_CURRENT_NOW:
> -		if (!smb347_is_ps_online(smb))
> -			return -ENODATA;
> -
> -		ret = regmap_read(smb->regmap, STAT_B, &v);
> -		if (ret < 0)
> -			return ret;
> -
> -		/*
> -		 * The current value is composition of FCC and PCC values
> -		 * and we can detect which table to use from bit 5.
> -		 */
> -		if (v & 0x20) {
> -			val->intval = hw_to_current(fcc_tbl,
> -						    ARRAY_SIZE(fcc_tbl),
> -						    v & 7);
> -		} else {
> -			v >>= 3;
> -			val->intval = hw_to_current(pcc_tbl,
> -						    ARRAY_SIZE(pcc_tbl),
> -						    v & 7);
> -		}
> -		break;
> -
>  	case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN:
>  		val->intval = pdata->battery_info.charge_full_design;
>  		break;
> @@ -1002,8 +955,6 @@ static enum power_supply_property smb347_battery_properties[] = {
>  	POWER_SUPPLY_PROP_TECHNOLOGY,
>  	POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN,
>  	POWER_SUPPLY_PROP_VOLTAGE_MAX_DESIGN,
> -	POWER_SUPPLY_PROP_VOLTAGE_NOW,
> -	POWER_SUPPLY_PROP_CURRENT_NOW,
>  	POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN,
>  	POWER_SUPPLY_PROP_MODEL_NAME,
>  };
> -- 
> 1.7.0.4

-- 
Anton Vorontsov
Email: cbouatmailru@...il.com
--
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