| .. | .. |
|---|
| 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); |
|---|