++static ssize_t bq2415x_sysfs_show_reported_mode(struct device *dev,
++ struct device_attribute *attr, char *buf)
++{
++ struct power_supply *psy = dev_get_drvdata(dev);
++ struct bq2415x_device *bq = container_of(psy, struct bq2415x_device,
++ charger);
++
++ switch (bq->reported_mode) {
++ case BQ2415X_MODE_NONE:
++ return sprintf(buf, "none\n");
++ case BQ2415X_MODE_HOST_CHARGER:
++ return sprintf(buf, "host\n");
++ case BQ2415X_MODE_DEDICATED_CHARGER:
++ return sprintf(buf, "dedicated\n");
++ case BQ2415X_MODE_BOOST:
++ return sprintf(buf, "boost\n");
++ }
++
++ return -EINVAL;
++}
++