static int led_regulator_get_voltage(struct regulator *supply, enum led_brightness brightness) { if (brightness == 0) return -EINVAL; return regulator_list_voltage(supply, brightness - 1); }
static inline int led_regulator_get_max_brightness(struct regulator *supply) { int ret; int voltage = regulator_list_voltage(supply, 0); if (voltage <= 0) return 1; ret = regulator_set_voltage(supply, voltage, voltage); if (ret < 0) return 1; return regulator_count_voltages(supply); }
static inline int led_regulator_get_max_brightness(struct regulator *supply) { int ret; int voltage = regulator_list_voltage(supply, 0); if (voltage <= 0) return 1; /* even if regulator can't change voltages, * we still assume it can change status * and the LED can be turned on and off. */ ret = regulator_set_voltage(supply, voltage, voltage); if (ret < 0) return 1; return regulator_count_voltages(supply); }
/** * mmc_regulator_get_ocrmask - return mask of supported voltages * @supply: regulator to use * * This returns either a negative errno, or a mask of voltages that * can be provided to MMC/SD/SDIO devices using the specified voltage * regulator. This would normally be called before registering the * MMC host adapter. */ int mmc_regulator_get_ocrmask(struct regulator *supply) { int result = 0; int count; int i; count = regulator_count_voltages(supply); if (count < 0) return count; for (i = 0; i < count; i++) { int vdd_uV; int vdd_mV; vdd_uV = regulator_list_voltage(supply, i); if (vdd_uV <= 0) continue; vdd_mV = vdd_uV / 1000; result |= mmc_vddrange_to_ocrmask(vdd_mV, vdd_mV); } return result; }