/* reset alarms if neccessary */ 
/* reset alarms if necessary */ 
static struct ds1621_data *ds1621_update_client(struct device *dev){	struct i2c_client *client = to_i2c_client(dev);	struct ds1621_data *data = i2c_get_clientdata(client);	u8 new_conf;	down(&data->update_lock);	if (time_after(jiffies, data->last_updated + HZ + HZ / 2)	    || !data->valid) {		dev_dbg(&client->dev, "Starting ds1621 update\n");		data->conf = ds1621_read_value(client, DS1621_REG_CONF);		data->temp = ds1621_read_value(client, DS1621_REG_TEMP);				data->temp_min = ds1621_read_value(client,		                                    DS1621_REG_TEMP_MIN);		data->temp_max = ds1621_read_value(client,						    DS1621_REG_TEMP_MAX);		/* reset alarms if neccessary */		new_conf = data->conf;		if (data->temp < data->temp_min)			new_conf &= ~DS1621_ALARM_TEMP_LOW;		if (data->temp > data->temp_max)			new_conf &= ~DS1621_ALARM_TEMP_HIGH;		if (data->conf != new_conf)			ds1621_write_value(client, DS1621_REG_CONF,					   new_conf);		data->last_updated = jiffies;		data->valid = 1;	}	up(&data->update_lock);	return data;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/44bbe87e9017efa050bb1b506c6822f1f3bb94d7/ds1621.c/buggy/drivers/i2c/chips/ds1621.c