.. | .. |
---|
272 | 272 | const char *buf, size_t size) |
---|
273 | 273 | { |
---|
274 | 274 | struct pti_device *pti = dev_get_drvdata(dev); |
---|
275 | | - ssize_t ret = -EINVAL; |
---|
276 | 275 | int i; |
---|
277 | 276 | |
---|
278 | | - for (i = 0; i < ARRAY_SIZE(lpp_dest_str); i++) |
---|
279 | | - if (sysfs_streq(buf, lpp_dest_str[i])) |
---|
280 | | - break; |
---|
| 277 | + i = sysfs_match_string(lpp_dest_str, buf); |
---|
| 278 | + if (i < 0) |
---|
| 279 | + return i; |
---|
281 | 280 | |
---|
282 | | - if (i < ARRAY_SIZE(lpp_dest_str) && pti->lpp_dest_mask & BIT(i)) { |
---|
283 | | - pti->lpp_dest = i; |
---|
284 | | - ret = size; |
---|
285 | | - } |
---|
| 281 | + if (!(pti->lpp_dest_mask & BIT(i))) |
---|
| 282 | + return -EINVAL; |
---|
286 | 283 | |
---|
287 | | - return ret; |
---|
| 284 | + pti->lpp_dest = i; |
---|
| 285 | + return size; |
---|
288 | 286 | } |
---|
289 | 287 | |
---|
290 | 288 | static DEVICE_ATTR_RW(lpp_dest); |
---|