···143143on all its consumers) and change operating mode (if necessary and permitted)144144to best match the current operating load.145145146146-The load_uA value can be determined from the consumers datasheet. e.g.most147147-datasheets have tables showing the max current consumed in certain situations.146146+The load_uA value can be determined from the consumer's datasheet. e.g. most147147+datasheets have tables showing the maximum current consumed in certain148148+situations.148149149150Most consumers will use indirect operating mode control since they have no150151knowledge of the regulator or whether the regulator is shared with other···174173int regulator_register_notifier(struct regulator *regulator,175174 struct notifier_block *nb);176175177177-Consumers can uregister interest by calling :-176176+Consumers can unregister interest by calling :-178177179178int regulator_unregister_notifier(struct regulator *regulator,180179 struct notifier_block *nb);
+4-4
Documentation/power/regulator/design.txt
···991010 - Errors in regulator configuration can have very serious consequences1111 for the system, potentially including lasting hardware damage.1212- - It is not possible to automatically determine the power confugration1212+ - It is not possible to automatically determine the power configuration1313 of the system - software-equivalent variants of the same chip may1414- have different power requirments, and not all components with power1414+ have different power requirements, and not all components with power1515 requirements are visible to software.16161717 => The API should make no changes to the hardware state unless it has1818- specific knowledge that these changes are safe to do perform on1919- this particular system.1818+ specific knowledge that these changes are safe to perform on this1919+ particular system.20202121Consumer use cases2222------------------
+2-2
Documentation/power/regulator/machine.txt
···1111 +-> [Consumer B @ 3.3V]12121313The drivers for consumers A & B must be mapped to the correct regulator in1414-order to control their power supply. This mapping can be achieved in machine1414+order to control their power supplies. This mapping can be achieved in machine1515initialisation code by creating a struct regulator_consumer_supply for1616each regulator.1717···39394040Constraints can now be registered by defining a struct regulator_init_data4141for each regulator power domain. This structure also maps the consumers4242-to their supply regulator :-4242+to their supply regulators :-43434444static struct regulator_init_data regulator1_data = {4545 .constraints = {
+3-3
Documentation/power/regulator/overview.txt
···3636 Consumers can be classified into two types:-37373838 Static: consumer does not change its supply voltage or3939- current limit. It only needs to enable or disable it's3939+ current limit. It only needs to enable or disable its4040 power supply. Its supply voltage is set by the hardware,4141 bootloader, firmware or kernel board initialisation code.42424343- Dynamic: consumer needs to change it's supply voltage or4343+ Dynamic: consumer needs to change its supply voltage or4444 current limit to meet operation demands.45454646···156156 This interface is for machine specific code and allows the creation of157157 voltage/current domains (with constraints) for each regulator. It can158158 provide regulator constraints that will prevent device damage through159159- overvoltage or over current caused by buggy client drivers. It also159159+ overvoltage or overcurrent caused by buggy client drivers. It also160160 allows the creation of a regulator tree whereby some regulators are161161 supplied by others (similar to a clock tree).162162
+3-3
Documentation/power/regulator/regulator.txt
···1313struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc,1414 const struct regulator_config *config);15151616-This will register the regulators capabilities and operations to the regulator1616+This will register the regulator's capabilities and operations to the regulator1717core.18181919Regulators can be unregistered by calling :-···23232424Regulator Events2525================2626-Regulators can send events (e.g. over temp, under voltage, etc) to consumer2727-drivers by calling :-2626+Regulators can send events (e.g. overtemperature, undervoltage, etc) to2727+consumer drivers by calling :-28282929int regulator_notifier_call_chain(struct regulator_dev *rdev,3030 unsigned long event, void *data);