[PATCH 2/2] olpc_battery: Hide ambient temperature attribute on XO-1.5

From: Daniel Drake
Date: Mon Dec 06 2010 - 15:35:43 EST


This attribute is not available on the XO-1.5 laptop, but remains
functional on the XO-1.

Signed-off-by: Daniel Drake <dsd@xxxxxxxxxx>
---
drivers/power/olpc_battery.c | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/drivers/power/olpc_battery.c b/drivers/power/olpc_battery.c
index 5bc1dcf..8986701 100644
--- a/drivers/power/olpc_battery.c
+++ b/drivers/power/olpc_battery.c
@@ -204,6 +204,16 @@ static int olpc_bat_get_tech(union power_supply_propval *val)
/*********************************************************************
* Battery properties
*********************************************************************/
+static bool olpc_bat_property_is_available(struct power_supply *psy,
+ enum power_supply_property psp)
+{
+ /* Ambient temperature is only available on XO-1 */
+ if (olpc_platform_info.boardrev >= olpc_board_pre(0xd0) &&
+ psp == POWER_SUPPLY_PROP_TEMP_AMBIENT)
+ return false;
+ return true;
+}
+
static int olpc_bat_get_property(struct power_supply *psy,
enum power_supply_property psp,
union power_supply_propval *val)
@@ -301,7 +311,7 @@ static int olpc_bat_get_property(struct power_supply *psy,

val->intval = (s16)be16_to_cpu(ec_word) * 100 / 256;
break;
- case POWER_SUPPLY_PROP_TEMP_AMBIENT:
+ case POWER_SUPPLY_PROP_TEMP_AMBIENT: /* XO-1 only */
ret = olpc_ec_cmd(EC_AMB_TEMP, NULL, 0, (void *)&ec_word, 2);
if (ret)
return ret;
@@ -421,6 +431,7 @@ static struct platform_device *bat_pdev;
static struct power_supply olpc_bat = {
.properties = olpc_bat_props,
.num_properties = ARRAY_SIZE(olpc_bat_props),
+ .property_is_available = olpc_bat_property_is_available,
.get_property = olpc_bat_get_property,
.use_for_apm = 1,
};
--
1.7.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/