+int res_counter_write(struct res_counter *counter, int member,
+ const char *buf, write_strategy_fn write_strategy)
+{
+ char *end;
+ unsigned long flags;
+ unsigned long long tmp, *val;
+
+ if (write_strategy) {
+ if (write_strategy(buf, &tmp))
+ return -EINVAL;
+ } else {
+ tmp = simple_strtoull(buf, &end, 10);
+ if (*end != '\0')
+ return -EINVAL;
+ }
+ spin_lock_irqsave(&counter->lock, flags);