static ssize_t lis3lv02d_selftest_show(struct device *dev, struct device_attribute *attr, char *buf) { s16 values[3]; static const char ok[] = "OK"; static const char fail[] = "FAIL"; static const char irq[] = "FAIL_IRQ"; const char *res; lis3lv02d_sysfs_poweron(&lis3_dev); switch (lis3lv02d_selftest(&lis3_dev, values)) { case SELFTEST_FAIL: res = fail; break; case SELFTEST_IRQ: res = irq; break; case SELFTEST_OK: default: res = ok; break; } return sprintf(buf, "%s %d %d %d\n", res, values[0], values[1], values[2]); }
/* Sysfs stuff */ static ssize_t lis3lv02d_selftest_show(struct device *dev, struct device_attribute *attr, char *buf) { int result; s16 values[3]; result = lis3lv02d_selftest(&lis3_dev, values); return sprintf(buf, "%s %d %d %d\n", result == 0 ? "OK" : "FAIL", values[0], values[1], values[2]); }