Loading Documentation/devicetree/bindings/regulator/mt6323-regulator.txt 0 → 100644 +237 −0 Original line number Original line Diff line number Diff line Mediatek MT6323 Regulator Driver All voltage regulators are defined as subnodes of the regulators node. A list of regulators provided by this controller are defined as subnodes of the PMIC's node. Each regulator is named according to its regulator type, buck_<name> and ldo_<name>. The definition for each of these nodes is defined using the standard binding for regulators at Documentation/devicetree/bindings/regulator/regulator.txt. The valid names for regulators are:: BUCK: buck_vproc, buck_vsys, buck_vpa LDO: ldo_vtcxo, ldo_vcn28, ldo_vcn33_bt, ldo_vcn33_wifi, ldo_va, ldo_vcama, ldo_vio28, ldo_vusb, ldo_vmc, ldo_vmch, ldo_vemc3v3, ldo_vgp1, ldo_vgp2, ldo_vgp3, ldo_vcn18, ldo_vsim1, ldo_vsim2, ldo_vrtc, ldo_vcamaf, ldo_vibr, ldo_vrf18, ldo_vm, ldo_vio18, ldo_vcamd, ldo_vcamio Example: pmic: mt6323 { mt6323regulator: regulators { mt6323_vproc_reg: buck_vproc{ regulator-name = "vproc"; regulator-min-microvolt = < 700000>; regulator-max-microvolt = <1350000>; regulator-ramp-delay = <12500>; regulator-always-on; regulator-boot-on; }; mt6323_vsys_reg: buck_vsys{ regulator-name = "vsys"; regulator-min-microvolt = <1400000>; regulator-max-microvolt = <2987500>; regulator-ramp-delay = <25000>; regulator-always-on; regulator-boot-on; }; mt6323_vpa_reg: buck_vpa{ regulator-name = "vpa"; regulator-min-microvolt = < 500000>; regulator-max-microvolt = <3650000>; }; mt6323_vtcxo_reg: ldo_vtcxo{ regulator-name = "vtcxo"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-enable-ramp-delay = <90>; regulator-always-on; regulator-boot-on; }; mt6323_vcn28_reg: ldo_vcn28{ regulator-name = "vcn28"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-enable-ramp-delay = <185>; }; mt6323_vcn33_bt_reg: ldo_vcn33_bt{ regulator-name = "vcn33_bt"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3600000>; regulator-enable-ramp-delay = <185>; }; mt6323_vcn33_wifi_reg: ldo_vcn33_wifi{ regulator-name = "vcn33_wifi"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3600000>; regulator-enable-ramp-delay = <185>; }; mt6323_va_reg: ldo_va{ regulator-name = "va"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-enable-ramp-delay = <216>; regulator-always-on; regulator-boot-on; }; mt6323_vcama_reg: ldo_vcama{ regulator-name = "vcama"; regulator-min-microvolt = <1500000>; regulator-max-microvolt = <2800000>; regulator-enable-ramp-delay = <216>; }; mt6323_vio28_reg: ldo_vio28{ regulator-name = "vio28"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-enable-ramp-delay = <216>; regulator-always-on; regulator-boot-on; }; mt6323_vusb_reg: ldo_vusb{ regulator-name = "vusb"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <216>; regulator-boot-on; }; mt6323_vmc_reg: ldo_vmc{ regulator-name = "vmc"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <36>; regulator-boot-on; }; mt6323_vmch_reg: ldo_vmch{ regulator-name = "vmch"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <36>; regulator-boot-on; }; mt6323_vemc3v3_reg: ldo_vemc3v3{ regulator-name = "vemc3v3"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <36>; regulator-boot-on; }; mt6323_vgp1_reg: ldo_vgp1{ regulator-name = "vgp1"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <216>; }; mt6323_vgp2_reg: ldo_vgp2{ regulator-name = "vgp2"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3000000>; regulator-enable-ramp-delay = <216>; }; mt6323_vgp3_reg: ldo_vgp3{ regulator-name = "vgp3"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <216>; }; mt6323_vcn18_reg: ldo_vcn18{ regulator-name = "vcn18"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <216>; }; mt6323_vsim1_reg: ldo_vsim1{ regulator-name = "vsim1"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3000000>; regulator-enable-ramp-delay = <216>; }; mt6323_vsim2_reg: ldo_vsim2{ regulator-name = "vsim2"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3000000>; regulator-enable-ramp-delay = <216>; }; mt6323_vrtc_reg: ldo_vrtc{ regulator-name = "vrtc"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-always-on; regulator-boot-on; }; mt6323_vcamaf_reg: ldo_vcamaf{ regulator-name = "vcamaf"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <216>; }; mt6323_vibr_reg: ldo_vibr{ regulator-name = "vibr"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <36>; }; mt6323_vrf18_reg: ldo_vrf18{ regulator-name = "vrf18"; regulator-min-microvolt = <1825000>; regulator-max-microvolt = <1825000>; regulator-enable-ramp-delay = <187>; }; mt6323_vm_reg: ldo_vm{ regulator-name = "vm"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <216>; regulator-always-on; regulator-boot-on; }; mt6323_vio18_reg: ldo_vio18{ regulator-name = "vio18"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <216>; regulator-always-on; regulator-boot-on; }; mt6323_vcamd_reg: ldo_vcamd{ regulator-name = "vcamd"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <216>; }; mt6323_vcamio_reg: ldo_vcamio{ regulator-name = "vcamio"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <216>; }; }; }; drivers/regulator/Kconfig +9 −0 Original line number Original line Diff line number Diff line Loading @@ -498,6 +498,15 @@ config REGULATOR_MT6311 This driver supports the control of different power rails of device This driver supports the control of different power rails of device through regulator interface. through regulator interface. config REGULATOR_MT6323 tristate "MediaTek MT6323 PMIC" depends on MFD_MT6397 help Say y here to select this option to enable the power regulator of MediaTek MT6323 PMIC. This driver supports the control of different power rails of device through regulator interface. config REGULATOR_MT6397 config REGULATOR_MT6397 tristate "MediaTek MT6397 PMIC" tristate "MediaTek MT6397 PMIC" depends on MFD_MT6397 depends on MFD_MT6397 Loading drivers/regulator/Makefile +1 −0 Original line number Original line Diff line number Diff line Loading @@ -65,6 +65,7 @@ obj-$(CONFIG_REGULATOR_MC13783) += mc13783-regulator.o obj-$(CONFIG_REGULATOR_MC13892) += mc13892-regulator.o obj-$(CONFIG_REGULATOR_MC13892) += mc13892-regulator.o obj-$(CONFIG_REGULATOR_MC13XXX_CORE) += mc13xxx-regulator-core.o obj-$(CONFIG_REGULATOR_MC13XXX_CORE) += mc13xxx-regulator-core.o obj-$(CONFIG_REGULATOR_MT6311) += mt6311-regulator.o obj-$(CONFIG_REGULATOR_MT6311) += mt6311-regulator.o obj-$(CONFIG_REGULATOR_MT6323) += mt6323-regulator.o obj-$(CONFIG_REGULATOR_MT6397) += mt6397-regulator.o obj-$(CONFIG_REGULATOR_MT6397) += mt6397-regulator.o obj-$(CONFIG_REGULATOR_QCOM_RPM) += qcom_rpm-regulator.o obj-$(CONFIG_REGULATOR_QCOM_RPM) += qcom_rpm-regulator.o obj-$(CONFIG_REGULATOR_QCOM_SMD_RPM) += qcom_smd-regulator.o obj-$(CONFIG_REGULATOR_QCOM_SMD_RPM) += qcom_smd-regulator.o Loading drivers/regulator/fixed.c +2 −12 Original line number Original line Diff line number Diff line Loading @@ -79,18 +79,8 @@ of_get_fixed_voltage_config(struct device *dev, config->enabled_at_boot = true; config->enabled_at_boot = true; config->gpio = of_get_named_gpio(np, "gpio", 0); config->gpio = of_get_named_gpio(np, "gpio", 0); /* if ((config->gpio < 0) && (config->gpio != -ENOENT)) * of_get_named_gpio() currently returns ENODEV rather than return ERR_PTR(config->gpio); * EPROBE_DEFER. This code attempts to be compatible with both * for now; the ENODEV check can be removed once the API is fixed. * of_get_named_gpio() doesn't differentiate between a missing * property (which would be fine here, since the GPIO is optional) * and some other error. Patches have been posted for both issues. * Once they are check in, we should replace this with: * if (config->gpio < 0 && config->gpio != -ENOENT) */ if ((config->gpio == -ENODEV) || (config->gpio == -EPROBE_DEFER)) return ERR_PTR(-EPROBE_DEFER); of_property_read_u32(np, "startup-delay-us", &config->startup_delay); of_property_read_u32(np, "startup-delay-us", &config->startup_delay); Loading drivers/regulator/lp873x-regulator.c +6 −8 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,7 @@ #include <linux/mfd/lp873x.h> #include <linux/mfd/lp873x.h> #define LP873X_REGULATOR(_name, _id, _of, _ops, _n, _vr, _vm, _er, _em, \ #define LP873X_REGULATOR(_name, _id, _of, _ops, _n, _vr, _vm, _er, _em, \ _delay, _lr, _nlr, _cr) \ _delay, _lr, _cr) \ [_id] = { \ [_id] = { \ .desc = { \ .desc = { \ .name = _name, \ .name = _name, \ Loading @@ -37,7 +37,7 @@ .enable_mask = _em, \ .enable_mask = _em, \ .ramp_delay = _delay, \ .ramp_delay = _delay, \ .linear_ranges = _lr, \ .linear_ranges = _lr, \ .n_linear_ranges = _nlr, \ .n_linear_ranges = ARRAY_SIZE(_lr), \ }, \ }, \ .ctrl2_reg = _cr, \ .ctrl2_reg = _cr, \ } } Loading Loading @@ -175,22 +175,20 @@ static const struct lp873x_regulator regulators[] = { 256, LP873X_REG_BUCK0_VOUT, 256, LP873X_REG_BUCK0_VOUT, LP873X_BUCK0_VOUT_BUCK0_VSET, LP873X_REG_BUCK0_CTRL_1, LP873X_BUCK0_VOUT_BUCK0_VSET, LP873X_REG_BUCK0_CTRL_1, LP873X_BUCK0_CTRL_1_BUCK0_EN, 10000, LP873X_BUCK0_CTRL_1_BUCK0_EN, 10000, buck0_buck1_ranges, 4, LP873X_REG_BUCK0_CTRL_2), buck0_buck1_ranges, LP873X_REG_BUCK0_CTRL_2), LP873X_REGULATOR("BUCK1", LP873X_BUCK_1, "buck1", lp873x_buck01_ops, LP873X_REGULATOR("BUCK1", LP873X_BUCK_1, "buck1", lp873x_buck01_ops, 256, LP873X_REG_BUCK1_VOUT, 256, LP873X_REG_BUCK1_VOUT, LP873X_BUCK1_VOUT_BUCK1_VSET, LP873X_REG_BUCK1_CTRL_1, LP873X_BUCK1_VOUT_BUCK1_VSET, LP873X_REG_BUCK1_CTRL_1, LP873X_BUCK1_CTRL_1_BUCK1_EN, 10000, LP873X_BUCK1_CTRL_1_BUCK1_EN, 10000, buck0_buck1_ranges, 4, LP873X_REG_BUCK1_CTRL_2), buck0_buck1_ranges, LP873X_REG_BUCK1_CTRL_2), LP873X_REGULATOR("LDO0", LP873X_LDO_0, "ldo0", lp873x_ldo01_ops, 26, LP873X_REGULATOR("LDO0", LP873X_LDO_0, "ldo0", lp873x_ldo01_ops, 26, LP873X_REG_LDO0_VOUT, LP873X_LDO0_VOUT_LDO0_VSET, LP873X_REG_LDO0_VOUT, LP873X_LDO0_VOUT_LDO0_VSET, LP873X_REG_LDO0_CTRL, LP873X_REG_LDO0_CTRL, LP873X_LDO0_CTRL_LDO0_EN, 0, ldo0_ldo1_ranges, 1, LP873X_LDO0_CTRL_LDO0_EN, 0, ldo0_ldo1_ranges, 0xFF), 0xFF), LP873X_REGULATOR("LDO1", LP873X_LDO_1, "ldo1", lp873x_ldo01_ops, 26, LP873X_REGULATOR("LDO1", LP873X_LDO_1, "ldo1", lp873x_ldo01_ops, 26, LP873X_REG_LDO1_VOUT, LP873X_LDO1_VOUT_LDO1_VSET, LP873X_REG_LDO1_VOUT, LP873X_LDO1_VOUT_LDO1_VSET, LP873X_REG_LDO1_CTRL, LP873X_REG_LDO1_CTRL, LP873X_LDO1_CTRL_LDO1_EN, 0, ldo0_ldo1_ranges, 1, LP873X_LDO1_CTRL_LDO1_EN, 0, ldo0_ldo1_ranges, 0xFF), 0xFF), }; }; static int lp873x_regulator_probe(struct platform_device *pdev) static int lp873x_regulator_probe(struct platform_device *pdev) Loading Loading
Documentation/devicetree/bindings/regulator/mt6323-regulator.txt 0 → 100644 +237 −0 Original line number Original line Diff line number Diff line Mediatek MT6323 Regulator Driver All voltage regulators are defined as subnodes of the regulators node. A list of regulators provided by this controller are defined as subnodes of the PMIC's node. Each regulator is named according to its regulator type, buck_<name> and ldo_<name>. The definition for each of these nodes is defined using the standard binding for regulators at Documentation/devicetree/bindings/regulator/regulator.txt. The valid names for regulators are:: BUCK: buck_vproc, buck_vsys, buck_vpa LDO: ldo_vtcxo, ldo_vcn28, ldo_vcn33_bt, ldo_vcn33_wifi, ldo_va, ldo_vcama, ldo_vio28, ldo_vusb, ldo_vmc, ldo_vmch, ldo_vemc3v3, ldo_vgp1, ldo_vgp2, ldo_vgp3, ldo_vcn18, ldo_vsim1, ldo_vsim2, ldo_vrtc, ldo_vcamaf, ldo_vibr, ldo_vrf18, ldo_vm, ldo_vio18, ldo_vcamd, ldo_vcamio Example: pmic: mt6323 { mt6323regulator: regulators { mt6323_vproc_reg: buck_vproc{ regulator-name = "vproc"; regulator-min-microvolt = < 700000>; regulator-max-microvolt = <1350000>; regulator-ramp-delay = <12500>; regulator-always-on; regulator-boot-on; }; mt6323_vsys_reg: buck_vsys{ regulator-name = "vsys"; regulator-min-microvolt = <1400000>; regulator-max-microvolt = <2987500>; regulator-ramp-delay = <25000>; regulator-always-on; regulator-boot-on; }; mt6323_vpa_reg: buck_vpa{ regulator-name = "vpa"; regulator-min-microvolt = < 500000>; regulator-max-microvolt = <3650000>; }; mt6323_vtcxo_reg: ldo_vtcxo{ regulator-name = "vtcxo"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-enable-ramp-delay = <90>; regulator-always-on; regulator-boot-on; }; mt6323_vcn28_reg: ldo_vcn28{ regulator-name = "vcn28"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-enable-ramp-delay = <185>; }; mt6323_vcn33_bt_reg: ldo_vcn33_bt{ regulator-name = "vcn33_bt"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3600000>; regulator-enable-ramp-delay = <185>; }; mt6323_vcn33_wifi_reg: ldo_vcn33_wifi{ regulator-name = "vcn33_wifi"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3600000>; regulator-enable-ramp-delay = <185>; }; mt6323_va_reg: ldo_va{ regulator-name = "va"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-enable-ramp-delay = <216>; regulator-always-on; regulator-boot-on; }; mt6323_vcama_reg: ldo_vcama{ regulator-name = "vcama"; regulator-min-microvolt = <1500000>; regulator-max-microvolt = <2800000>; regulator-enable-ramp-delay = <216>; }; mt6323_vio28_reg: ldo_vio28{ regulator-name = "vio28"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-enable-ramp-delay = <216>; regulator-always-on; regulator-boot-on; }; mt6323_vusb_reg: ldo_vusb{ regulator-name = "vusb"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <216>; regulator-boot-on; }; mt6323_vmc_reg: ldo_vmc{ regulator-name = "vmc"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <36>; regulator-boot-on; }; mt6323_vmch_reg: ldo_vmch{ regulator-name = "vmch"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <36>; regulator-boot-on; }; mt6323_vemc3v3_reg: ldo_vemc3v3{ regulator-name = "vemc3v3"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <36>; regulator-boot-on; }; mt6323_vgp1_reg: ldo_vgp1{ regulator-name = "vgp1"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <216>; }; mt6323_vgp2_reg: ldo_vgp2{ regulator-name = "vgp2"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3000000>; regulator-enable-ramp-delay = <216>; }; mt6323_vgp3_reg: ldo_vgp3{ regulator-name = "vgp3"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <216>; }; mt6323_vcn18_reg: ldo_vcn18{ regulator-name = "vcn18"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <216>; }; mt6323_vsim1_reg: ldo_vsim1{ regulator-name = "vsim1"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3000000>; regulator-enable-ramp-delay = <216>; }; mt6323_vsim2_reg: ldo_vsim2{ regulator-name = "vsim2"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3000000>; regulator-enable-ramp-delay = <216>; }; mt6323_vrtc_reg: ldo_vrtc{ regulator-name = "vrtc"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-always-on; regulator-boot-on; }; mt6323_vcamaf_reg: ldo_vcamaf{ regulator-name = "vcamaf"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <216>; }; mt6323_vibr_reg: ldo_vibr{ regulator-name = "vibr"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <36>; }; mt6323_vrf18_reg: ldo_vrf18{ regulator-name = "vrf18"; regulator-min-microvolt = <1825000>; regulator-max-microvolt = <1825000>; regulator-enable-ramp-delay = <187>; }; mt6323_vm_reg: ldo_vm{ regulator-name = "vm"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <216>; regulator-always-on; regulator-boot-on; }; mt6323_vio18_reg: ldo_vio18{ regulator-name = "vio18"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <216>; regulator-always-on; regulator-boot-on; }; mt6323_vcamd_reg: ldo_vcamd{ regulator-name = "vcamd"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <216>; }; mt6323_vcamio_reg: ldo_vcamio{ regulator-name = "vcamio"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <216>; }; }; };
drivers/regulator/Kconfig +9 −0 Original line number Original line Diff line number Diff line Loading @@ -498,6 +498,15 @@ config REGULATOR_MT6311 This driver supports the control of different power rails of device This driver supports the control of different power rails of device through regulator interface. through regulator interface. config REGULATOR_MT6323 tristate "MediaTek MT6323 PMIC" depends on MFD_MT6397 help Say y here to select this option to enable the power regulator of MediaTek MT6323 PMIC. This driver supports the control of different power rails of device through regulator interface. config REGULATOR_MT6397 config REGULATOR_MT6397 tristate "MediaTek MT6397 PMIC" tristate "MediaTek MT6397 PMIC" depends on MFD_MT6397 depends on MFD_MT6397 Loading
drivers/regulator/Makefile +1 −0 Original line number Original line Diff line number Diff line Loading @@ -65,6 +65,7 @@ obj-$(CONFIG_REGULATOR_MC13783) += mc13783-regulator.o obj-$(CONFIG_REGULATOR_MC13892) += mc13892-regulator.o obj-$(CONFIG_REGULATOR_MC13892) += mc13892-regulator.o obj-$(CONFIG_REGULATOR_MC13XXX_CORE) += mc13xxx-regulator-core.o obj-$(CONFIG_REGULATOR_MC13XXX_CORE) += mc13xxx-regulator-core.o obj-$(CONFIG_REGULATOR_MT6311) += mt6311-regulator.o obj-$(CONFIG_REGULATOR_MT6311) += mt6311-regulator.o obj-$(CONFIG_REGULATOR_MT6323) += mt6323-regulator.o obj-$(CONFIG_REGULATOR_MT6397) += mt6397-regulator.o obj-$(CONFIG_REGULATOR_MT6397) += mt6397-regulator.o obj-$(CONFIG_REGULATOR_QCOM_RPM) += qcom_rpm-regulator.o obj-$(CONFIG_REGULATOR_QCOM_RPM) += qcom_rpm-regulator.o obj-$(CONFIG_REGULATOR_QCOM_SMD_RPM) += qcom_smd-regulator.o obj-$(CONFIG_REGULATOR_QCOM_SMD_RPM) += qcom_smd-regulator.o Loading
drivers/regulator/fixed.c +2 −12 Original line number Original line Diff line number Diff line Loading @@ -79,18 +79,8 @@ of_get_fixed_voltage_config(struct device *dev, config->enabled_at_boot = true; config->enabled_at_boot = true; config->gpio = of_get_named_gpio(np, "gpio", 0); config->gpio = of_get_named_gpio(np, "gpio", 0); /* if ((config->gpio < 0) && (config->gpio != -ENOENT)) * of_get_named_gpio() currently returns ENODEV rather than return ERR_PTR(config->gpio); * EPROBE_DEFER. This code attempts to be compatible with both * for now; the ENODEV check can be removed once the API is fixed. * of_get_named_gpio() doesn't differentiate between a missing * property (which would be fine here, since the GPIO is optional) * and some other error. Patches have been posted for both issues. * Once they are check in, we should replace this with: * if (config->gpio < 0 && config->gpio != -ENOENT) */ if ((config->gpio == -ENODEV) || (config->gpio == -EPROBE_DEFER)) return ERR_PTR(-EPROBE_DEFER); of_property_read_u32(np, "startup-delay-us", &config->startup_delay); of_property_read_u32(np, "startup-delay-us", &config->startup_delay); Loading
drivers/regulator/lp873x-regulator.c +6 −8 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,7 @@ #include <linux/mfd/lp873x.h> #include <linux/mfd/lp873x.h> #define LP873X_REGULATOR(_name, _id, _of, _ops, _n, _vr, _vm, _er, _em, \ #define LP873X_REGULATOR(_name, _id, _of, _ops, _n, _vr, _vm, _er, _em, \ _delay, _lr, _nlr, _cr) \ _delay, _lr, _cr) \ [_id] = { \ [_id] = { \ .desc = { \ .desc = { \ .name = _name, \ .name = _name, \ Loading @@ -37,7 +37,7 @@ .enable_mask = _em, \ .enable_mask = _em, \ .ramp_delay = _delay, \ .ramp_delay = _delay, \ .linear_ranges = _lr, \ .linear_ranges = _lr, \ .n_linear_ranges = _nlr, \ .n_linear_ranges = ARRAY_SIZE(_lr), \ }, \ }, \ .ctrl2_reg = _cr, \ .ctrl2_reg = _cr, \ } } Loading Loading @@ -175,22 +175,20 @@ static const struct lp873x_regulator regulators[] = { 256, LP873X_REG_BUCK0_VOUT, 256, LP873X_REG_BUCK0_VOUT, LP873X_BUCK0_VOUT_BUCK0_VSET, LP873X_REG_BUCK0_CTRL_1, LP873X_BUCK0_VOUT_BUCK0_VSET, LP873X_REG_BUCK0_CTRL_1, LP873X_BUCK0_CTRL_1_BUCK0_EN, 10000, LP873X_BUCK0_CTRL_1_BUCK0_EN, 10000, buck0_buck1_ranges, 4, LP873X_REG_BUCK0_CTRL_2), buck0_buck1_ranges, LP873X_REG_BUCK0_CTRL_2), LP873X_REGULATOR("BUCK1", LP873X_BUCK_1, "buck1", lp873x_buck01_ops, LP873X_REGULATOR("BUCK1", LP873X_BUCK_1, "buck1", lp873x_buck01_ops, 256, LP873X_REG_BUCK1_VOUT, 256, LP873X_REG_BUCK1_VOUT, LP873X_BUCK1_VOUT_BUCK1_VSET, LP873X_REG_BUCK1_CTRL_1, LP873X_BUCK1_VOUT_BUCK1_VSET, LP873X_REG_BUCK1_CTRL_1, LP873X_BUCK1_CTRL_1_BUCK1_EN, 10000, LP873X_BUCK1_CTRL_1_BUCK1_EN, 10000, buck0_buck1_ranges, 4, LP873X_REG_BUCK1_CTRL_2), buck0_buck1_ranges, LP873X_REG_BUCK1_CTRL_2), LP873X_REGULATOR("LDO0", LP873X_LDO_0, "ldo0", lp873x_ldo01_ops, 26, LP873X_REGULATOR("LDO0", LP873X_LDO_0, "ldo0", lp873x_ldo01_ops, 26, LP873X_REG_LDO0_VOUT, LP873X_LDO0_VOUT_LDO0_VSET, LP873X_REG_LDO0_VOUT, LP873X_LDO0_VOUT_LDO0_VSET, LP873X_REG_LDO0_CTRL, LP873X_REG_LDO0_CTRL, LP873X_LDO0_CTRL_LDO0_EN, 0, ldo0_ldo1_ranges, 1, LP873X_LDO0_CTRL_LDO0_EN, 0, ldo0_ldo1_ranges, 0xFF), 0xFF), LP873X_REGULATOR("LDO1", LP873X_LDO_1, "ldo1", lp873x_ldo01_ops, 26, LP873X_REGULATOR("LDO1", LP873X_LDO_1, "ldo1", lp873x_ldo01_ops, 26, LP873X_REG_LDO1_VOUT, LP873X_LDO1_VOUT_LDO1_VSET, LP873X_REG_LDO1_VOUT, LP873X_LDO1_VOUT_LDO1_VSET, LP873X_REG_LDO1_CTRL, LP873X_REG_LDO1_CTRL, LP873X_LDO1_CTRL_LDO1_EN, 0, ldo0_ldo1_ranges, 1, LP873X_LDO1_CTRL_LDO1_EN, 0, ldo0_ldo1_ranges, 0xFF), 0xFF), }; }; static int lp873x_regulator_probe(struct platform_device *pdev) static int lp873x_regulator_probe(struct platform_device *pdev) Loading