Hi Mark and Liam, I was wondering what the best way is to handle a situation in which a consumer driver wishes to be as generic as possible by calling a sequence like this for any regulator that is uses: vreg = regulator_get(dev, "foo_vdd"); regulator_set_voltage(vreg, 1000000, 2000000); regulator_set_optimum_mode(vreg, 50000); regulator_enable(vreg); The problem that arises is that the "regulator" it is supplied by may in fact be a voltage switch. The driver for this switch is set up so that only enable, disable, and is_enabled callbacks are specified. This has the effect of making all regulator_set_voltage and regulator_set_optimum_mode calls return an error. Is there a mechanism in the regulator framework that will allow a consumer to determine if these APIs are available for a given regulator? I considered changing the switch drivers to provide dummy voltage and mode callbacks. The voltage range would then be any positive integer (including 0). However, this results in a problem if one consumer calls only regulator_enable and then a second consumer calls regulator_set_voltage with some range, perhaps [1000000, 2000000], followed by regulator_enable. regulator_check_consumers will fail inside of regulator_set_voltage for the second consumer because the implicit [0, 0] request of the first consumer does not overlap [1000000, 2000000]. What are your thoughts on this situation? Thanks, David Collins -- Sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum. -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html