LM36274 Introduction
Subsystems (4)
v4 cover LM36274 Introduction
Hello
This is patch set v4 for the LM36274. There were no changes made to this patch set except to rebase this on top of the latest TI LMU common code patchset.
This patch set was rebased on the series at:
https://lore.kernel.org/patchwork/project/lkml/list/?series=393071
Dan
Dan Murphy (6):
regulator: lm363x: Make the gpio register enable flexible
dt-bindings: mfd: Add lm36274 bindings to ti-lmu
mfd: ti-lmu: Add LM36274 support to the ti-lmu
regulator: lm363x: Add support for LM36274
dt-bindings: leds: Add LED bindings for the LM36274
leds: lm36274: Introduce the TI LM36274 LED driver
.../devicetree/bindings/leds/leds-lm36274.txt | 82 +++++++++ .../devicetree/bindings/mfd/ti-lmu.txt | 54 ++++++ drivers/leds/Kconfig | 7 + drivers/leds/Makefile | 1 + drivers/leds/leds-lm36274.c | 174 ++++++++++++++++++ drivers/mfd/Kconfig | 5 +- drivers/mfd/ti-lmu.c | 14 ++ drivers/regulator/Kconfig | 2 +- drivers/regulator/lm363x-regulator.c | 56 +++++- include/linux/mfd/ti-lmu-register.h | 23 +++ include/linux/mfd/ti-lmu.h | 4 + 11 files changed, 416 insertions(+), 6 deletions(-) create mode 100644 Documentation/devicetree/bindings/leds/leds-lm36274.txt create mode 100644 drivers/leds/leds-lm36274.c
Signature · 1 line
2.21.0.5.gaeb582a983
PATCH RESEND v4 1/6 regulator: lm363x: Make the gpio register enable flexible
The use of and enablement of the GPIO can be used across devices. Use the enable_reg in the regulator descriptor for the register to write.
--- drivers/regulator/lm363x-regulator.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/regulator/lm363x-regulator.c +2 -2
@@ -263,8 +263,8 @@ static int lm363x_regulator_probe(struct platform_device *pdev)if (gpiod) { cfg.ena_gpiod = gpiod; - - ret =regmap_update_bits (regmap,LM3632_REG_BIAS_CONFIG , + ret =regmap_update_bits (regmap, + lm363x_regulator_desc[id].enable_reg,LM3632_EXT_EN_MASK ,LM3632_EXT_EN_MASK );if (ret) {
Signature · 1 line
2.21.0.5.gaeb582a983
Re: [RESEND PATCH v4 1/6] regulator: lm363x: Make the gpio register enable flexible
Quoted 5 lines · Dan Murphy
The use of and enablement of the GPIO can be used across devices. Use the
enable_regin the regulator descriptor for the register to write.Signed-off-by Dan Murphy <[email protected]>
Quoted 19 lines
--- drivers/regulator/lm363x-regulator.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/regulator/lm363x-regulator.c +2
-2@@ -263,8 +263,8 @@ static int lm363x_regulator_probe(struct platform_device *pdev)if (gpiod) { cfg.ena_gpiod = gpiod; - - ret =regmap_update_bits (regmap,LM3632_REG_BIAS_CONFIG , + ret =regmap_update_bits (regmap, + lm363x_regulator_desc[id].enable_reg,LM3632_EXT_EN_MASK ,LM3632_EXT_EN_MASK );if (ret) {
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Mark Brown
maintainerRe: [RESEND PATCH v4 1/6] regulator: lm363x: Make the gpio register enable flexible
In reply to Dan MurphyQuoted 5 lines · Dan Murphy
The use of and enablement of the GPIO can be used across devices. Use the
enable_regin the regulator descriptor for the register to write.
drivers/regulator/lm363x-regulator.c static int lm363x_regulator_probe(struct platform_device *pdev) · line 270
Quoted 10 lines
drivers/regulator/lm363x-regulator.c +2
-2@@ -263,8 +263,8 @@ static int lm363x_regulator_probe(struct platform_device *pdev)if (gpiod) { cfg.ena_gpiod = gpiod; - - ret =regmap_update_bits (regmap,LM3632_REG_BIAS_CONFIG , + ret =regmap_update_bits (regmap, + lm363x_regulator_desc[id].enable_reg,LM3632_EXT_EN_MASK ,LM3632_EXT_EN_MASK );if (ret) {
Is it guaranteed that the bitmask for enabling the use of the GPIO is going to be the same for all regulators? The bitmasks for the regulator enable look to be different, and it also looks like this setting might affect multiple regulators since it seems there are multiple enable bits in the same register. If this affects multiple regulators then how's that working at the minute?
Re: [RESEND PATCH v4 1/6] regulator: lm363x: Make the gpio register enable flexible
Mark
Quoted 7 lines · Mark Brown
Quoted 6 lines · Dan Murphy
The use of and enablement of the GPIO can be used across devices. Use the
enable_regin the regulator descriptor for the register to write.(quoted diff) +0
-0@@ -263,8 +263,8 @@ static int lm363x_regulator_probe(struct platform_device *pdev)
Quoted 17 lines
drivers/regulator/lm363x-regulator.c static int lm363x_regulator_probe(struct platform_device *pdev) · line 270
Quoted 9 lines
drivers/regulator/lm363x-regulator.c +2
-2if (gpiod) { cfg.ena_gpiod = gpiod; - - ret =regmap_update_bits (regmap,LM3632_REG_BIAS_CONFIG , + ret =regmap_update_bits (regmap, + lm363x_regulator_desc[id].enable_reg,LM3632_EXT_EN_MASK ,LM3632_EXT_EN_MASK );if (ret) {Is it guaranteed that the bitmask for enabling the use of the GPIO is going to be the same for all regulators? The bitmasks for the regulator enable look to be different, and it also looks like this setting might affect multiple regulators since it seems there are multiple enable bits in the same register. If this affects multiple regulators then how's that working at the minute?
Yes for the 3632 and 36274 bit0 is the EXT_EN for LCM on these chips.
LM3631 does not have LCM GPIO control so there is no setting and this should not be called. If it is then the developer implemented the DT wrong.
LM3631 - No LCM GPIO control
LM36274 reg 0x09 bit 0 7.6.9 of the data sheet
LM3632 reg 0x0c bit 0 7.6.12 of the data sheet
Dan
Mark Brown
maintainerRe: [RESEND PATCH v4 1/6] regulator: lm363x: Make the gpio register enable flexible
Quoted 10 lines · Dan Murphy
Quoted 8 lines · Mark Brown
On Wed, May 22, 2019 at 02:27:28PM -0500, Dan Murphy wrote:
Is it guaranteed that the bitmask for enabling the use of the GPIO is going to be the same for all regulators? The bitmasks for the regulator enable look to be different, and it also looks like this setting might affect multiple regulators since it seems there are multiple enable bits in the same register. If this affects multiple regulators then how's that working at the minute?
Quoted 3 lines
Yes for the 3632 and 36274 bit0 is the
EXT_ENfor LCM on these chips.
LM3631 does not have LCM GPIO control so there is no setting and this should not be called. If it is then the developer implemented the DT wrong.
This feels fragile - it works for the current users but it's just assuming that the placement of this bit will always be in the same position in the same register as the enable and will silently fail if a new chip variant does things differently. Either storing the data separately somewhere driver specific or just having explicit switch statements would be more robust.
Re: [RESEND PATCH v4 1/6] regulator: lm363x: Make the gpio register enable flexible
Mark
Quoted 12 lines · Mark Brown
Quoted 11 lines · Dan Murphy
Quoted 7 lines · Mark Brown
On Wed, May 22, 2019 at 02:27:28PM -0500, Dan Murphy wrote:
Is it guaranteed that the bitmask for enabling the use of the GPIO is going to be the same for all regulators? The bitmasks for the regulator enable look to be different, and it also looks like this setting might affect multiple regulators since it seems there are multiple enable bits in the same register. If this affects multiple regulators then how's that working at the minute?Yes for the 3632 and 36274 bit0 is the
EXT_ENfor LCM on these chips.
LM3631 does not have LCM GPIO control so there is no setting and this should not be called. If it is then the developer implemented the DT wrong.
Quoted 6 lines
This feels fragile - it works for the current users but it's just assuming that the placement of this bit will always be in the same position in the same register as the enable and will silently fail if a new chip variant does things differently. Either storing the data separately somewhere driver specific or just having explicit switch statements would be more robust.
Although I don't disagree with you I don't see how the interface is fragile with only these 3 regulators defined.
Would it not be prudent to amend this driver if/when a new regulator is needed that has a different enable bit/register combination? And if that was the case I would almost expect a different driver completely if the regmap did not line up correctly. I only reused this driver because the registers and bits lined up and did not think it was necessary to create a whole new driver.
Dan
Mark Brown
maintainerRe: [RESEND PATCH v4 1/6] regulator: lm363x: Make the gpio register enable flexible
Quoted 5 lines · Dan Murphy
Although I don't disagree with you I don't see how the interface is fragile with only these 3 regulators defined.
Would it not be prudent to amend this driver if/when a new regulator is needed that has a different enable bit/register combination? And if that
The fragility I'm worried about is someone forgetting to make suitable updates, especially if they don't use the feature in their own system.
Quoted 4 lines
was the case I would almost expect a different driver completely if the regmap did not line up correctly. I only reused this driver because the registers and bits lined up and did not think it was necessary to create a whole new driver.
This is a single register bit which is set once on startup isn't it? It seems like exactly the sort of thing that a hardware designer might change incompatibly, perhaps even for good reasons like adding more flexibility over which pins can be used to control the enable and far from something that would require a totally new driver if it was handled differently.
Re: [RESEND PATCH v4 1/6] regulator: lm363x: Make the gpio register enable flexible
Mark
Quoted 8 lines · Mark Brown
Quoted 4 lines · Dan Murphy
Although I don't disagree with you I don't see how the interface is fragile with only these 3 regulators defined.
Would it not be prudent to amend this driver if/when a new regulator is needed that has a different enable bit/register combination? And if thatThe fragility I'm worried about is someone forgetting to make suitable updates, especially if they don't use the feature in their own system.
If they don't define the enable GPIO in the device tree then the gpio descriptor pointer is NULL and the register write does not occur.
The documentation indicates that this is only applicable for 3632 I need to add the LM36274.
Quoted 10 lines
Quoted 4 lines
was the case I would almost expect a different driver completely if the regmap did not line up correctly. I only reused this driver because the registers and bits lined up and did not think it was necessary to create a whole new driver.
This is a single register bit which is set once on startup isn't it? It seems like exactly the sort of thing that a hardware designer might change incompatibly, perhaps even for good reasons like adding more flexibility over which pins can be used to control the enable and far from something that would require a totally new driver if it was handled differently.
Currently I don't have a device in this family that requires this level of flexibility for this pin or configuration.
So if a need should arise should we not implement that flexibility at that point?
Not only this but the gpio descriptor is protected in lm363x_regulator_of_get_enable_gpio due to checking of the regulator ID. As in patch #4 of this series if LM3632 or LM36274 check for enable definition in the DT and create the descriptor if found. If it is any other regulator then don't do anything.
If the HW designer changes these bits we end up with a new part and then at that point we could add code to redefine the bit mask as well.
Dan
Mark Brown
maintainerRe: [RESEND PATCH v4 1/6] regulator: lm363x: Make the gpio register enable flexible
Quoted 8 lines · Dan Murphy
Quoted 6 lines · Mark Brown
Quoted 4 lines · Dan Murphy
Although I don't disagree with you I don't see how the interface is fragile with only these 3 regulators defined.
Would it not be prudent to amend this driver if/when a new regulator is needed that has a different enable bit/register combination? And if that
Quoted 8 lines
Quoted 2 lines
The fragility I'm worried about is someone forgetting to make suitable updates, especially if they don't use the feature in their own system.
If they don't define the enable GPIO in the device tree then the gpio descriptor pointer is NULL and the register write does not occur.
The documentation indicates that this is only applicable for 3632 I need to add the LM36274.
This isn't so much about people's DTs (though that's a definite concern as well) as it is about support for any future devices in the driver, a user might see that the driver supports GPIO enables, correctly set up their device tree and have things fall over because the driver silently tries to configure the registers incorrectly.
Quoted 5 lines
Currently I don't have a device in this family that requires this level of flexibility for this pin or configuration.
So if a need should arise should we not implement that flexibility at that point?
This isn't about implementing support for some theoretical thing, this is about making the implementation of the current support more robust and making the driver more maintainable going forwards.
Quoted 8 lines
Not only this but the gpio descriptor is protected in
lm363x_regulator_of_get_enable_gpiodue to checking of the regulator ID. As in patch #4 of this series if LM3632 or LM36274 check for enable definition in the DT and create the descriptor if found. If it is any other regulator then don't do anything.If the HW designer changes these bits we end up with a new part and then at that point we could add code to redefine the bit mask as well.
That code is rather far away from the code you're changing and it's really not clear that this will do the right thing for new devices, it already appears that we're handling two devices without obvious code for that (the regulator IDs get reused AFAICT). If there were a switch statement right there it'd be clearer.
Part of this is a reviewability thing - I initially stopped on the patch because it looked like it was using the enable field for something other than the intended purpose and now there's all this chasing around to see if the code is OK.
Re: [RESEND PATCH v4 1/6] regulator: lm363x: Make the gpio register enable flexible
Mark
Quoted 11 lines · Mark Brown
That code is rather far away from the code you're changing and it's really not clear that this will do the right thing for new devices, it already appears that we're handling two devices without obvious code for that (the regulator IDs get reused AFAICT). If there were a switch statement right there it'd be clearer.
Part of this is a reviewability thing - I initially stopped on the patch because it looked like it was using the enable field for something other than the intended purpose and now there's all this chasing around to see if the code is OK.
I am going to introduce this update in patch 4 of this series when the LM36274 is introduced to the regulator driver.
It makes more sense to add it there as in patch 1 there is not really a need to extend the value or mask as it only supports the LM3632 device. It makes sense to add the condition when adding another device to support
Thoughts?
Dan
Mark Brown
maintainerRe: [RESEND PATCH v4 1/6] regulator: lm363x: Make the gpio register enable flexible
Quoted 6 lines · Dan Murphy
I am going to introduce this update in patch 4 of this series when the LM36274 is introduced to the regulator driver.
It makes more sense to add it there as in patch 1 there is not really a need to extend the value or mask as it only supports the LM3632 device. It makes sense to add the condition when adding another device to support
Sure, add it along with the rest of the support for the new device.
PATCH RESEND v4 2/6 dt-bindings: mfd: Add lm36274 bindings to ti-lmu
In reply to Dan MurphyAdd the LM36274 backlight driver with regulator support. This is a multi-function device for backlight applications.
Backlight properties will be documented in it's a supplemental bindings document.
Regulator support is documented in the regulator/lm363x-regulator.txt
http://www.ti.com/lit/ds/symlink/lm36274.pdf
--- .../devicetree/bindings/mfd/ti-lmu.txt | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+)
Documentation/devicetree/bindings/mfd/ti-lmu.txt +54 -0
@@ -8,6 +8,7 @@ TI LMU driver supports lighting devices below. LM3632 Backlight and regulator LM3633 Backlight, LED and fault monitor LM3695 Backlight + LM36274 Backlight and regulator Required properties: - compatible: Should be one of:
@@ -15,11 +16,13 @@ Required properties: "ti,lm3632" "ti,lm3633" "ti,lm3695" + "ti,lm36274" - reg: I2C slave address. 0x11 for LM3632 0x29 for LM3631 0x36 for LM3633 0x63 for LM3695 + 0x11 for LM36274 Optional properties: - enable-gpios: A GPIO specifier for hardware enable pin.
@@ -50,12 +53,14 @@ Optional nodes: - compatible: Should be one of: "ti,lm3633-fault-monitor" - leds: LED properties for LM3633. Please refer to [2]. + LED properties for LM36274. Please refer to [4]. - regulators: Regulator properties for LM3631 and LM3632. Please refer to [3]. [1] ../leds/backlight/ti-lmu-backlight.txt [2] ../leds/leds-lm3633.txt [3] ../regulator/lm363x-regulator.txt +[4] ../leds/leds-lm36274.txt lm3631@29 { compatible = "ti,lm3631";
@@ -213,3 +218,52 @@ lm3695@63 { }; }; }; + +lm36274@11 { + compatible = "ti,lm36274"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x11>; + + enable-gpios = <&pioC 2 GPIO_ACTIVE_HIGH>; + regulators { + #address-cells = <1>; + #size-cells = <0>; + compatible = "ti,lm363x-regulator"; + + enable-gpios = <&pioC 0 GPIO_ACTIVE_HIGH>, + <&pioC 1 GPIO_ACTIVE_HIGH>; + + vboost { + regulator-name = "lcd_boost"; + regulator-min-microvolt = <4000000>; + regulator-max-microvolt = <7150000>; + regulator-always-on; + }; + + vpos { + regulator-name = "lcd_vpos"; + regulator-min-microvolt = <4000000>; + regulator-max-microvolt = <6500000>; + }; + + vneg { + regulator-name = "lcd_vneg"; + regulator-min-microvolt = <4000000>; + regulator-max-microvolt = <6500000>; + }; + }; + + backlight { + #address-cells = <1>; + #size-cells = <0>; + compatible = "ti,lm36274-backlight"; + + led@0 { + reg = <0>; + led-sources = <0 2>; + label = "white:backlight_cluster"; + linux,default-trigger = "backlight"; + }; + }; +};
Signature · 1 line
2.21.0.5.gaeb582a983
Re: [RESEND PATCH v4 2/6] dt-bindings: mfd: Add lm36274 bindings to ti-lmu
Quoted 6 lines · Dan Murphy
Add the LM36274 backlight driver with regulator support. This is a multi-function device for backlight applications.
Backlight properties will be documented in it's a supplemental bindings document.
Quoted 6 lines
Regulator support is documented in the
regulator/lm363x-regulator.txthttp://www.ti.com/lit/ds/symlink/lm36274.pdf
Reviewed-by Rob Herring <[email protected]>Signed-off-by Dan Murphy <[email protected]>
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
PATCH RESEND v4 3/6 mfd: ti-lmu: Add LM36274 support to the ti-lmu
In reply to Dan MurphyAdd the LM36274 register support to the ti-lmu MFD driver.
--- drivers/mfd/Kconfig | 5 ++--- drivers/mfd/ti-lmu.c | 14 ++++++++++++++ include/linux/mfd/ti-lmu-register.h | 23 +++++++++++++++++++++++ include/linux/mfd/ti-lmu.h | 4 ++++ 4 files changed, 43 insertions(+), 3 deletions(-)
drivers/mfd/Kconfig +2 -3
@@ -1311,9 +1311,8 @@ config MFD_TI_LMU select REGMAP_I2C help Say yes here to enable support for TI LMU chips. - - TI LMU MFD supports LM3532, LM3631, LM3632, LM3633, and LM3695. - It consists of backlight, LED and regulator driver. + TI LMU MFD supports LM3532, LM3631, LM3632, LM3633, LM3695 and + LM36274. It consists of backlight, LED and regulator driver. It provides consistent device controls for lighting functions. config MFD_OMAP_USB_HOST
drivers/mfd/ti-lmu.c +14 -0
@@ -111,6 +111,17 @@ static const struct mfd_cell lm3695_devices[] = { }, }; +static const struct mfd_cell lm36274_devices[] = { +LM363X_REGULATOR (LM36274_BOOST ), +LM363X_REGULATOR (LM36274_LDO_POS ), +LM363X_REGULATOR (LM36274_LDO_NEG ), + { + .name ="lm36274-leds" , + .id =LM36274 , + .of_compatible ="ti,lm36274-backlight" , + }, +}; +#define TI_LMU_DATA (chip, max_reg) \ static const struct ti_lmu_data chip##_data = \ { \
@@ -123,6 +134,7 @@ TI_LMU_DATA(lm3631, LM3631_MAX_REG);TI_LMU_DATA (lm3632,LM3632_MAX_REG );TI_LMU_DATA (lm3633,LM3633_MAX_REG );TI_LMU_DATA (lm3695,LM3695_MAX_REG ); +TI_LMU_DATA (lm36274,LM36274_MAX_REG );static int ti_lmu_probe (struct i2c_client *cl,const struct i2c_device_id *id) {
@@ -191,6 +203,7 @@ static const struct of_device_id ti_lmu_of_match[] = { { .compatible = "ti,lm3632", .data = &lm3632_data }, { .compatible = "ti,lm3633", .data = &lm3633_data }, { .compatible = "ti,lm3695", .data = &lm3695_data }, + { .compatible = "ti,lm36274", .data = &lm36274_data }, { } };MODULE_DEVICE_TABLE (of, ti_lmu_of_match);
@@ -200,6 +213,7 @@ static const struct i2c_device_id ti_lmu_ids[] = { { "lm3632", LM3632 }, { "lm3633", LM3633 }, { "lm3695", LM3695 }, + { "lm36274", LM36274 }, { } };MODULE_DEVICE_TABLE (i2c, ti_lmu_ids);
include/linux/mfd/ti-lmu-register.h +23 -0
@@ -189,4 +189,27 @@#define LM3695_REG_BRT_MSB 0x14#define LM3695_MAX_REG 0x14 + +/* LM36274 */ +#define LM36274_REG_REV 0x01 +#define LM36274_REG_BL_CFG_1 0x02 +#define LM36274_REG_BL_CFG_2 0x03 +#define LM36274_REG_BRT_LSB 0x04 +#define LM36274_REG_BRT_MSB 0x05 +#define LM36274_REG_BL_EN 0x08 + +#define LM36274_REG_BIAS_CONFIG_1 0x09 +#define LM36274_EXT_EN_MASK BIT(0) +#define LM36274_EN_VNEG_MASK BIT(1) +#define LM36274_EN_VPOS_MASK BIT(2) + +#define LM36274_REG_BIAS_CONFIG_2 0x0a +#define LM36274_REG_BIAS_CONFIG_3 0x0b +#define LM36274_REG_VOUT_BOOST 0x0c +#define LM36274_REG_VOUT_POS 0x0d +#define LM36274_REG_VOUT_NEG 0x0e +#define LM36274_VOUT_MASK 0x3F + +#define LM36274_MAX_REG 0x13 +#endif
include/linux/mfd/ti-lmu.h +4 -0
@@ -26,6 +26,7 @@ enum ti_lmu_id {LM3632 ,LM3633 ,LM3695 , +LM36274 , LMU_MAX_ID, };
@@ -67,6 +68,9 @@ enum lm363x_regulator_id {LM3632_BOOST ,/* Boost output */ LM3632_LDO_POS ,/* Positive display bias output */ LM3632_LDO_NEG ,/* Negative display bias output */ +LM36274_BOOST ,/* Boost output */ +LM36274_LDO_POS ,/* Positive display bias output */ + LM36274_LDO_NEG, /* Negative display bias output */ };/**
Signature · 1 line
2.21.0.5.gaeb582a983
Re: [RESEND PATCH v4 3/6] mfd: ti-lmu: Add LM36274 support to the ti-lmu
Quoted 3 lines · Dan Murphy
Add the LM36274 register support to the ti-lmu MFD driver.
Signed-off-by Dan Murphy <[email protected]>
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
PATCH RESEND v4 4/6 regulator: lm363x: Add support for LM36274
In reply to Dan MurphyAdding regulator support for the LM36274 backlight driver. This device can leverage this existing code as the functionality and registers are common enough between the LM36274 and the LM363x series of devices.
--- drivers/regulator/Kconfig | 2 +- drivers/regulator/lm363x-regulator.c | 52 ++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-)
drivers/regulator/Kconfig +1 -1
@@ -362,7 +362,7 @@ config REGULATOR_LM363X tristate "TI LM363X voltage regulators" depends on MFD_TI_LMU help - This driver supports LM3631 and LM3632 voltage regulators for + This driver supports LM3631, LM3632 and LM36274 voltage regulators for the LCD bias. One boost output voltage is configurable and always on. Other LDOs are used for the display module.
drivers/regulator/lm363x-regulator.c +52 -0
73 lines not on this page · raw message
Signature · 1 line
2.21.0.5.gaeb582a983
Re: [RESEND PATCH v4 4/6] regulator: lm363x: Add support for LM36274
Quoted 6 lines · Dan Murphy
Adding regulator support for the LM36274 backlight driver. This device can leverage this existing code as the functionality and registers are common enough between the LM36274 and the LM363x series of devices.
Signed-off-by Dan Murphy <[email protected]>
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Re: [RESEND PATCH v4 4/6] regulator: lm363x: Add support for LM36274
In reply to Dan MurphyQuoted 4 lines · Dan Murphy
Adding regulator support for the LM36274 backlight driver. This device can leverage this existing code as the functionality and registers are common enough between the LM36274 and the LM363x series of devices.
PATCH RESEND v4 5/6 dt-bindings: leds: Add LED bindings for the LM36274
In reply to Dan MurphyAdd the LM36274 LED specific bindings.
--- .../devicetree/bindings/leds/leds-lm36274.txt | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 Documentation/devicetree/bindings/leds/leds-lm36274.txt
Documentation/devicetree/bindings/leds/leds-lm36274.txt new file +82 -0
@@ -0,0 +1,82 @@ +* Texas Instruments LM36274 4-Channel LCD Backlight Driver w/Integrated Bias + +The LM36274 is an integrated four-channel WLED driver and LCD bias supply. +The backlight boost provides the power to bias four parallel LED strings with +up to 29V total output voltage. The 11-bit LED current is programmable via +the I2C bus and/or controlled via a logic level PWM input from 60 μA to 30 mA. + +Parent device properties are documented in ../mfd/ti_lmu.txt +Regulator properties are documented in ../regulator/lm363x-regulator.txt + +Required backlight properties: + - compatible: + "ti,lm36274-backlight" + - reg : 0 + - #address-cells : 1 + - #size-cells : 0 + - led-sources : Indicates which LED strings will be enabled. + Values from 0-3, sources is 0 based so strings will be + source value + 1. + +Optional backlight properties: + - label : see Documentation/devicetree/bindings/leds/common.txt + - linux,default-trigger : + see Documentation/devicetree/bindings/leds/common.txt + +Example: + +HVLED string 1 and 3 are controlled by control bank A and HVLED 2 string is +controlled by control bank B. + +lm36274@11 { + compatible = "ti,lm36274"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x11>; + + enable-gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>; + + regulators { + #address-cells = <1>; + #size-cells = <0>; + compatible = "ti,lm363x-regulator"; + + enable-gpios = <&pioC 0 GPIO_ACTIVE_HIGH>, + <&pioC 1 GPIO_ACTIVE_HIGH>; + + vboost { + regulator-name = "lcd_boost"; + regulator-min-microvolt = <4000000>; + regulator-max-microvolt = <7150000>; + regulator-always-on; + }; + + vpos { + regulator-name = "lcd_vpos"; + regulator-min-microvolt = <4000000>; + regulator-max-microvolt = <6500000>; + }; + + vneg { + regulator-name = "lcd_vneg"; + regulator-min-microvolt = <4000000>; + regulator-max-microvolt = <6500000>; + }; + }; + + backlight { + #address-cells = <1>; + #size-cells = <0>; + compatible = "ti,lm36274-backlight"; + + led@0 { + reg = <0>; + led-sources = <0 2>; + label = "white:backlight_cluster"; + linux,default-trigger = "backlight"; + }; + }; +}; + +For more product information please see the link below: +http://www.ti.com/lit/ds/symlink/lm36274.pdf
Signature · 1 line
2.21.0.5.gaeb582a983
Re: [RESEND PATCH v4 5/6] dt-bindings: leds: Add LED bindings for the LM36274
Quoted 15 lines · Dan Murphy
Add the LM36274 LED specific bindings.
Reviewed-by Rob Herring <[email protected]>Signed-off-by Dan Murphy <[email protected]>--- .../devicetree/bindings/leds/leds-lm36274.txt | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 Documentation/devicetree/bindings/leds/leds-lm36274.txtDocumentation/devicetree/bindings/leds/leds-lm36274.txt new file +0
-0
Documentation/devicetree/bindings/leds/leds-lm36274.txt line 6
Quoted 6 lines
Documentation/devicetree/bindings/leds/leds-lm36274.txt new file +6
-0@@ -0,0 +1,82 @@ +* Texas Instruments LM36274 4-Channel LCD Backlight Driver w/Integrated Bias + +The LM36274 is an integrated four-channel WLED driver and LCD bias supply. +The backlight boost provides the power to bias four parallel LED strings with +up to 29V total output voltage. The 11-bit LED current is programmable via +the I2C bus and/or controlled via a logic level PWM input from 60 ??A to 30 mA.
??A -> uA.
Otherwise:
Pavel
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
PATCH RESEND v4 6/6 leds: lm36274: Introduce the TI LM36274 LED driver
In reply to Dan MurphyIntroduce the LM36274 LED driver. This driver uses the ti-lmu MFD driver to probe this LED driver. The driver configures only the LED registers and enables the outputs according to the config file.
The driver utilizes the TI LMU (Lighting Management Unit) LED common framework to set the brightness bits.
--- drivers/leds/Kconfig | 7 ++ drivers/leds/Makefile | 1 + drivers/leds/leds-lm36274.c | 174 ++++++++++++++++++++++++++++++++++++ 3 files changed, 182 insertions(+) create mode 100644 drivers/leds/leds-lm36274.c
drivers/leds/Kconfig +7 -0
@@ -791,6 +791,13 @@ config LEDS_LM3697 Say Y to enable the LM3697 LED driver for TI LMU devices. This supports the LED device LM3697. +config LEDS_LM36274 + tristate "LED driver for LM36274" + depends on LEDS_TI_LMU_COMMON + help + Say Y to enable the LM36274 LED driver for TI LMU devices. + This supports the LED device LM36274. + comment "LED Triggers" source "drivers/leds/trigger/Kconfig"
drivers/leds/Makefile +1 -0
@@ -82,6 +82,7 @@ obj-$(CONFIG_LEDS_SC27XX_BLTC) += leds-sc27xx-bltc.o obj-$(CONFIG_LEDS_LM3601X) += leds-lm3601x.o obj-$(CONFIG_LEDS_TI_LMU_COMMON) += leds-ti-lmu-common.o obj-$(CONFIG_LEDS_LM3697) += leds-lm3697.o +obj-$(CONFIG_LEDS_LM36274) += leds-lm36274.o # LED SPI Drivers obj-$(CONFIG_LEDS_CR0014114) += leds-cr0014114.o
drivers/leds/leds-lm36274.c new file +174 -0
174 lines not on this page · raw message
Signature · 1 line
2.21.0.5.gaeb582a983
Re: [RESEND PATCH v4 6/6] leds: lm36274: Introduce the TI LM36274 LED driver
Hi!
Quoted 5 lines
+++
b/drivers/leds/leds-lm36274.cdrivers/leds/leds-lm36274.c new file +3
-0+static int lm36274_parse_dt (struct lm36274 *lm36274_data) +{ +struct fwnode_handle *child =NULL ;
drivers/leds/leds-lm36274.c line 82
Quoted 10 lines
drivers/leds/leds-lm36274.c new file +10
-0+char label[LED_MAX_NAME_SIZE ]; +struct device *dev = &lm36274_data->pdev->dev; +const char *name; +int child_cnt; +int ret = -EINVAL ; + +/* There should only be 1 node */ + child_cnt =device_get_child_node_count (dev); +if (child_cnt !=1 ) +return ret;
I'd do explicit "return -EINVAL" here.
drivers/leds/leds-lm36274.c line 135
Quoted 12 lines
drivers/leds/leds-lm36274.c new file +12
-0+static int lm36274_probe (struct platform_device *pdev) +{ +struct ti_lmu *lmu =dev_get_drvdata (pdev->dev.parent); +struct lm36274 *lm36274_data; +int ret; + + lm36274_data =devm_kzalloc (&pdev->dev,sizeof (*lm36274_data), +GFP_KERNEL ); +if (!lm36274_data) { + ret = -ENOMEM ; +return ret; + }
And certainly do "return -ENOMEM" explicitly here.
Pavel
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Re: [RESEND PATCH v4 6/6] leds: lm36274: Introduce the TI LM36274 LED driver
Pavel
Thanks for the review
Quoted 4 lines · Pavel Machek
Hi!
Quoted 1 line
+++
b/drivers/leds/leds-lm36274.c
Quoted 16 lines
drivers/leds/leds-lm36274.c line 82
Quoted 13 lines
drivers/leds/leds-lm36274.c new file +13
-0+static int lm36274_parse_dt (struct lm36274 *lm36274_data) +{ +struct fwnode_handle *child =NULL ; +char label[LED_MAX_NAME_SIZE ]; +struct device *dev = &lm36274_data->pdev->dev; +const char *name; +int child_cnt; +int ret = -EINVAL ; + +/* There should only be 1 node */ + child_cnt =device_get_child_node_count (dev); +if (child_cnt !=1 ) +return ret;I'd do explicit "return
-EINVAL" here.
ACK
Quoted 6 lines
Quoted 6 lines
drivers/leds/leds-lm36274.c new file +6
-0+static int lm36274_probe (struct platform_device *pdev) +{ +struct ti_lmu *lmu =dev_get_drvdata (pdev->dev.parent); +struct lm36274 *lm36274_data; +int ret; +
Quoted 9 lines
drivers/leds/leds-lm36274.c line 135
Quoted 6 lines
drivers/leds/leds-lm36274.c new file +6
-0+ lm36274_data =devm_kzalloc (&pdev->dev,sizeof (*lm36274_data), +GFP_KERNEL ); +if (!lm36274_data) { + ret = -ENOMEM ; +return ret; + }And certainly do "return
-ENOMEM" explicitly here.
ACK
Quoted 3 lines
Acked-by Pavel Machek <[email protected]>Pavel
Re: [RESEND PATCH v4 6/6] leds: lm36274: Introduce the TI LM36274 LED driver
Hi,
Quoted 44 lines · Dan Murphy
Pavel
Thanks for the review
Quoted 4 lines · Pavel Machek
Hi!
Quoted 1 line
+++
b/drivers/leds/leds-lm36274.cQuoted 16 lines
drivers/leds/leds-lm36274.c line 82
Quoted 13 lines
drivers/leds/leds-lm36274.c new file +13
-0+static int lm36274_parse_dt (struct lm36274 *lm36274_data) +{ +struct fwnode_handle *child =NULL ; +char label[LED_MAX_NAME_SIZE ]; +struct device *dev = &lm36274_data->pdev->dev; +const char *name; +int child_cnt; +int ret = -EINVAL ; + +/* There should only be 1 node */ + child_cnt =device_get_child_node_count (dev); +if (child_cnt !=1 ) +return ret;I'd do explicit "return
-EINVAL" here.ACK
Quoted 6 lines
Quoted 6 lines
drivers/leds/leds-lm36274.c new file +6
-0+static int lm36274_probe (struct platform_device *pdev) +{ +struct ti_lmu *lmu =dev_get_drvdata (pdev->dev.parent); +struct lm36274 *lm36274_data; +int ret; +Quoted 9 lines
drivers/leds/leds-lm36274.c line 135
Quoted 6 lines
drivers/leds/leds-lm36274.c new file +6
-0+ lm36274_data =devm_kzalloc (&pdev->dev,sizeof (*lm36274_data), +GFP_KERNEL ); +if (!lm36274_data) { + ret = -ENOMEM ; +return ret; + }And certainly do "return
-ENOMEM" explicitly here.
Quoted 3 lines
ACK
Quoted 1 line
Acked-by Pavel Machek <[email protected]>
I've done all amendments requested by Pavel and updated branch ib-leds-mfd-regulator on linux-leds.git, but in the same time dropped the merge from the for-next.
We will proceed further once we clarify the issue of cross-merging recently raised again by Linus.
Signature · 2 lines
Best regards, Jacek Anaszewski
Re: [RESEND PATCH v4 6/6] leds: lm36274: Introduce the TI LM36274 LED driver
Quoted 47 lines · Jacek Anaszewski
Hi,
Quoted 44 lines · Dan Murphy
Pavel
Thanks for the review
Quoted 4 lines · Pavel Machek
Hi!
Quoted 1 line
+++
b/drivers/leds/leds-lm36274.cQuoted 16 lines
drivers/leds/leds-lm36274.c line 82
Quoted 13 lines
drivers/leds/leds-lm36274.c new file +13
-0+static int lm36274_parse_dt (struct lm36274 *lm36274_data) +{ +struct fwnode_handle *child =NULL ; +char label[LED_MAX_NAME_SIZE ]; +struct device *dev = &lm36274_data->pdev->dev; +const char *name; +int child_cnt; +int ret = -EINVAL ; + +/* There should only be 1 node */ + child_cnt =device_get_child_node_count (dev); +if (child_cnt !=1 ) +return ret;I'd do explicit "return
-EINVAL" here.ACK
Quoted 15 lines
drivers/leds/leds-lm36274.c line 135
Quoted 12 lines
drivers/leds/leds-lm36274.c new file +12
-0+static int lm36274_probe (struct platform_device *pdev) +{ +struct ti_lmu *lmu =dev_get_drvdata (pdev->dev.parent); +struct lm36274 *lm36274_data; +int ret; + + lm36274_data =devm_kzalloc (&pdev->dev,sizeof (*lm36274_data), +GFP_KERNEL ); +if (!lm36274_data) { + ret = -ENOMEM ; +return ret; + }And certainly do "return
-ENOMEM" explicitly here.
Quoted 6 lines
Quoted 3 lines
ACK
Quoted 1 line
Acked-by Pavel Machek <[email protected]>I've done all amendments requested by Pavel and updated branch ib-leds-mfd-regulator on linux-leds.git, but in the same time
What do you mean by updated? You cannot update an 'ib' (immutable branch). Immutable means that it cannot change, by definition.
Quoted 5 lines
dropped the merge from the for-next.
We will proceed further once we clarify the issue of cross-merging recently raised again by Linus.
Signature · 4 lines
Lee Jones [李琼斯] Linaro Services Technical Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog
Re: [RESEND PATCH v4 6/6] leds: lm36274: Introduce the TI LM36274 LED driver
Quoted 51 lines · Lee Jones
Quoted 49 lines · Jacek Anaszewski
Hi,
Quoted 46 lines · Dan Murphy
Pavel
Thanks for the review
Quoted 4 lines · Pavel Machek
Hi!
Quoted 1 line
+++
b/drivers/leds/leds-lm36274.cQuoted 16 lines
drivers/leds/leds-lm36274.c line 82
Quoted 13 lines
drivers/leds/leds-lm36274.c new file +13
-0+static int lm36274_parse_dt (struct lm36274 *lm36274_data) +{ +struct fwnode_handle *child =NULL ; +char label[LED_MAX_NAME_SIZE ]; +struct device *dev = &lm36274_data->pdev->dev; +const char *name; +int child_cnt; +int ret = -EINVAL ; + +/* There should only be 1 node */ + child_cnt =device_get_child_node_count (dev); +if (child_cnt !=1 ) +return ret;I'd do explicit "return
-EINVAL" here.ACK
Quoted 6 lines
Quoted 6 lines
drivers/leds/leds-lm36274.c new file +6
-0+static int lm36274_probe (struct platform_device *pdev) +{ +struct ti_lmu *lmu =dev_get_drvdata (pdev->dev.parent); +struct lm36274 *lm36274_data; +int ret; +Quoted 9 lines
drivers/leds/leds-lm36274.c line 135
Quoted 6 lines
drivers/leds/leds-lm36274.c new file +6
-0+ lm36274_data =devm_kzalloc (&pdev->dev,sizeof (*lm36274_data), +GFP_KERNEL ); +if (!lm36274_data) { + ret = -ENOMEM ; +return ret; + }And certainly do "return
-ENOMEM" explicitly here.ACK
Quoted 7 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Acked-by Pavel Machek <[email protected]>I've done all amendments requested by Pavel and updated branch ib-leds-mfd-regulator on linux-leds.git, but in the same time
What do you mean by updated? You cannot update an 'ib' (immutable branch). Immutable means that it cannot change, by definition.
We have already talked about that. Nobody has pulled so the branch could have been safely updated.
Signature · 2 lines
Best regards, Jacek Anaszewski
Re: [RESEND PATCH v4 6/6] leds: lm36274: Introduce the TI LM36274 LED driver
Quoted 54 lines · Jacek Anaszewski
Quoted 53 lines · Lee Jones
Quoted 51 lines · Jacek Anaszewski
Hi,
Quoted 47 lines · Dan Murphy
Pavel
Thanks for the review
Quoted 4 lines · Pavel Machek
Hi!
Quoted 1 line
+++
b/drivers/leds/leds-lm36274.cQuoted 16 lines
drivers/leds/leds-lm36274.c line 82
Quoted 13 lines
drivers/leds/leds-lm36274.c new file +13
-0+static int lm36274_parse_dt (struct lm36274 *lm36274_data) +{ +struct fwnode_handle *child =NULL ; +char label[LED_MAX_NAME_SIZE ]; +struct device *dev = &lm36274_data->pdev->dev; +const char *name; +int child_cnt; +int ret = -EINVAL ; + +/* There should only be 1 node */ + child_cnt =device_get_child_node_count (dev); +if (child_cnt !=1 ) +return ret;I'd do explicit "return
-EINVAL" here.ACK
Quoted 6 lines
Quoted 6 lines
drivers/leds/leds-lm36274.c new file +6
-0+static int lm36274_probe (struct platform_device *pdev) +{ +struct ti_lmu *lmu =dev_get_drvdata (pdev->dev.parent); +struct lm36274 *lm36274_data; +int ret; +Quoted 9 lines
drivers/leds/leds-lm36274.c line 135
Quoted 6 lines
drivers/leds/leds-lm36274.c new file +6
-0+ lm36274_data =devm_kzalloc (&pdev->dev,sizeof (*lm36274_data), +GFP_KERNEL ); +if (!lm36274_data) { + ret = -ENOMEM ; +return ret; + }And certainly do "return
-ENOMEM" explicitly here.ACK
Quoted 1 line
Acked-by Pavel Machek <[email protected]>
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines
I've done all amendments requested by Pavel and updated branch ib-leds-mfd-regulator on linux-leds.git, but in the same time
What do you mean by updated? You cannot update an 'ib' (immutable branch). Immutable means that it cannot change, by definition.
We have already talked about that. Nobody has pulled so the branch could have been safely updated.
You have no sure way to know that. And since I have no way to know, or faith that you won't update it again, pulling it now/at all would seem like a foolish thing to do.
Until you can provide me with an assurance that you will not keep updating/changing the supposedly immutable pull-requests you send out, I won't be pulling any more in.
Signature · 4 lines
Lee Jones [李琼斯] Linaro Services Technical Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog
Re: [RESEND PATCH v4 6/6] leds: lm36274: Introduce the TI LM36274 LED driver
Quoted 62 lines · Lee Jones
Quoted 60 lines · Jacek Anaszewski
Quoted 58 lines · Lee Jones
Quoted 47 lines · Jacek Anaszewski
Hi,
Quoted 44 lines · Dan Murphy
Pavel
Thanks for the review
Quoted 4 lines · Pavel Machek
Hi!
Quoted 1 line
+++
b/drivers/leds/leds-lm36274.cQuoted 16 lines
Review
Quoted 13 lines
(quoted diff) +13
-0+static int lm36274_parse_dt(struct lm36274 *lm36274_data) +{ + struct fwnode_handle *child = NULL; + char label[LED_MAX_NAME_SIZE]; + struct device *dev = &lm36274_data->pdev->dev; + const char *name; + int child_cnt; + int ret = -EINVAL; + + /* There should only be 1 node */ + child_cnt = device_get_child_node_count(dev); + if (child_cnt != 1) + return ret;I'd do explicit "return
-EINVAL" here.ACK
Quoted 15 lines
Review
Quoted 12 lines
(quoted diff) +12
-0+static int lm36274_probe(struct platform_device *pdev) +{ + struct ti_lmu *lmu = dev_get_drvdata(pdev->dev.parent); + struct lm36274 *lm36274_data; + int ret; + + lm36274_data = devm_kzalloc(&pdev->dev, sizeof(*lm36274_data), + GFP_KERNEL); + if (!lm36274_data) { + ret = -ENOMEM; + return ret; + }And certainly do "return
-ENOMEM" explicitly here.Quoted 6 lines
Quoted 3 lines
ACK
Quoted 1 line
Acked-by Pavel Machek <[email protected]>I've done all amendments requested by Pavel and updated branch ib-leds-mfd-regulator on linux-leds.git, but in the same time
What do you mean by updated? You cannot update an 'ib' (immutable branch). Immutable means that it cannot change, by definition.
Quoted 6 lines
Quoted 2 lines
We have already talked about that. Nobody has pulled so the branch could have been safely updated.
You have no sure way to know that. And since I have no way to know, or faith that you won't update it again, pulling it now/at all would seem like a foolish thing to do.
Sorry, but you are simply unjust. You're pretending to portray the situation as if I have been notoriously causing merge conflicts in linux-next which did not take place.
Just to recap what this discussion is about:
On 7 Apr 2019:
1. I sent pull request [0].
2. 45 minutes later I updated it after discovering one omission [1]. It was rather small chance for it to be pulled as quickly as that. And even if it happened it wouldn't have been much harmful - we wouldn't have lost e.g. weeks of testing in linux-next due to that fact.
On 21 May 2019:
3. I sent another pull request [2] to you and REGULATOR maintainers. After it turned out that lack of feedback from REGULATOR maintainers was caused by failing to send them the exact copies of patches to review, I informed you about possible need for updating the branch. Afterwards I received a reply from you saying that you hadn't pulled the branch anyway. At that point I was sure that neither MFD nor REGULATOR tree contains the patches. And only after that I updated the branch.
Quoted 3 lines
Until you can provide me with an assurance that you will not keep updating/changing the supposedly immutable pull-requests you send out, I won't be pulling any more in.
I can just uphold the assurance which is implicitly assumed for anyone who has never broken acclaimed rules. As justified above.
[0] https://lore.kernel.org/patchwork/patch/1059075/
[1] https://lore.kernel.org/patchwork/patch/1059080/
[2] https://lore.kernel.org/patchwork/patch/1077066/
Signature · 2 lines
Best regards, Jacek Anaszewski
Re: [RESEND PATCH v4 6/6] leds: lm36274: Introduce the TI LM36274 LED driver
Quoted 87 lines · Jacek Anaszewski
Quoted 62 lines · Lee Jones
Quoted 60 lines · Jacek Anaszewski
Quoted 58 lines · Lee Jones
Quoted 47 lines · Jacek Anaszewski
Hi,
Quoted 44 lines · Dan Murphy
Pavel
Thanks for the review
Quoted 4 lines · Pavel Machek
Hi!
Quoted 1 line
+++
b/drivers/leds/leds-lm36274.cQuoted 16 lines
Review
Quoted 13 lines
(quoted diff) +13
-0+static int lm36274_parse_dt(struct lm36274 *lm36274_data) +{ + struct fwnode_handle *child = NULL; + char label[LED_MAX_NAME_SIZE]; + struct device *dev = &lm36274_data->pdev->dev; + const char *name; + int child_cnt; + int ret = -EINVAL; + + /* There should only be 1 node */ + child_cnt = device_get_child_node_count(dev); + if (child_cnt != 1) + return ret;I'd do explicit "return
-EINVAL" here.ACK
Quoted 15 lines
Review
Quoted 12 lines
(quoted diff) +12
-0+static int lm36274_probe(struct platform_device *pdev) +{ + struct ti_lmu *lmu = dev_get_drvdata(pdev->dev.parent); + struct lm36274 *lm36274_data; + int ret; + + lm36274_data = devm_kzalloc(&pdev->dev, sizeof(*lm36274_data), + GFP_KERNEL); + if (!lm36274_data) { + ret = -ENOMEM; + return ret; + }And certainly do "return
-ENOMEM" explicitly here.Quoted 6 lines
Quoted 3 lines
ACK
Quoted 1 line
Acked-by Pavel Machek <[email protected]>I've done all amendments requested by Pavel and updated branch ib-leds-mfd-regulator on linux-leds.git, but in the same time
What do you mean by updated? You cannot update an 'ib' (immutable branch). Immutable means that it cannot change, by definition.
Quoted 6 lines
Quoted 2 lines
We have already talked about that. Nobody has pulled so the branch could have been safely updated.
You have no sure way to know that. And since I have no way to know, or faith that you won't update it again, pulling it now/at all would seem like a foolish thing to do.
Sorry, but you are simply unjust. You're pretending to portray the situation as if I have been notoriously causing merge conflicts in linux-next which did not take place.
Just to recap what this discussion is about:
On 7 Apr 2019:
1. I sent pull request [0].
2. 45 minutes later I updated it after discovering one omission [1]. It was rather small chance for it to be pulled as quickly as that. And even if it happened it wouldn't have been much harmful - we wouldn't have lost e.g. weeks of testing in linux-next due to that fact.On 21 May 2019:
Quoted 8 lines
3. I sent another pull request [2] to you and REGULATOR maintainers. After it turned out that lack of feedback from REGULATOR maintainers was caused by failing to send them the exact copies of patches to review, I informed you about possible need for updating the branch. Afterwards I received a reply from you saying that you hadn't pulled the branch anyway. At that point I was sure that neither MFD nor REGULATOR tree contains the patches. And only after that I updated the branch.
Here are 2 examples where you have changed immutable branches, which is 100% of the Pull Requests I have received from you. Using that record as a benchmark, the situation hardly seems unjust.
Quoted 6 lines
Quoted 3 lines
Until you can provide me with an assurance that you will not keep updating/changing the supposedly immutable pull-requests you send out, I won't be pulling any more in.
I can just uphold the assurance which is implicitly assumed for anyone who has never broken acclaimed rules. As justified above.
You have broken the rules every (100% of the) time.
Quoted 3 lines
[0] https://lore.kernel.org/patchwork/patch/1059075/
[1] https://lore.kernel.org/patchwork/patch/1059080/
[2] https://lore.kernel.org/patchwork/patch/1077066/
So we have 2 choices moving forward; you can either provide me with assurance that you have learned from this experience and will never change an *immutable* branch again, or I can continue to handle them, which has been the preference for some years.
If you choose the former and adaptions need to be made in the future, the correct thing to do is create a *new*, different pull-request which has its own *new*, different tag, but uses the original tag as a base.
Signature · 4 lines
Lee Jones [李琼斯] Linaro Services Technical Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog
Re: [RESEND PATCH v4 6/6] leds: lm36274: Introduce the TI LM36274 LED driver
Quoted 102 lines · Lee Jones
Quoted 87 lines · Jacek Anaszewski
Quoted 62 lines · Lee Jones
Quoted 60 lines · Jacek Anaszewski
Quoted 58 lines · Lee Jones
Quoted 47 lines · Jacek Anaszewski
Hi,
Quoted 44 lines · Dan Murphy
Pavel
Thanks for the review
Quoted 4 lines · Pavel Machek
Hi!
Quoted 1 line
+++
b/drivers/leds/leds-lm36274.cQuoted 16 lines
Review
Quoted 13 lines
(quoted diff) +13
-0+static int lm36274_parse_dt(struct lm36274 *lm36274_data) +{ + struct fwnode_handle *child = NULL; + char label[LED_MAX_NAME_SIZE]; + struct device *dev = &lm36274_data->pdev->dev; + const char *name; + int child_cnt; + int ret = -EINVAL; + + /* There should only be 1 node */ + child_cnt = device_get_child_node_count(dev); + if (child_cnt != 1) + return ret;I'd do explicit "return
-EINVAL" here.ACK
Quoted 15 lines
Review
Quoted 12 lines
(quoted diff) +12
-0+static int lm36274_probe(struct platform_device *pdev) +{ + struct ti_lmu *lmu = dev_get_drvdata(pdev->dev.parent); + struct lm36274 *lm36274_data; + int ret; + + lm36274_data = devm_kzalloc(&pdev->dev, sizeof(*lm36274_data), + GFP_KERNEL); + if (!lm36274_data) { + ret = -ENOMEM; + return ret; + }And certainly do "return
-ENOMEM" explicitly here.Quoted 6 lines
Quoted 3 lines
ACK
Quoted 1 line
Acked-by Pavel Machek <[email protected]>I've done all amendments requested by Pavel and updated branch ib-leds-mfd-regulator on linux-leds.git, but in the same time
What do you mean by updated? You cannot update an 'ib' (immutable branch). Immutable means that it cannot change, by definition.
Quoted 6 lines
Quoted 2 lines
We have already talked about that. Nobody has pulled so the branch could have been safely updated.
You have no sure way to know that. And since I have no way to know, or faith that you won't update it again, pulling it now/at all would seem like a foolish thing to do.
Sorry, but you are simply unjust. You're pretending to portray the situation as if I have been notoriously causing merge conflicts in linux-next which did not take place.
Just to recap what this discussion is about:
On 7 Apr 2019:
1. I sent pull request [0].
2. 45 minutes later I updated it after discovering one omission [1]. It was rather small chance for it to be pulled as quickly as that. And even if it happened it wouldn't have been much harmful - we wouldn't have lost e.g. weeks of testing in linux-next due to that fact.On 21 May 2019:
Quoted 8 lines
3. I sent another pull request [2] to you and REGULATOR maintainers. After it turned out that lack of feedback from REGULATOR maintainers was caused by failing to send them the exact copies of patches to review, I informed you about possible need for updating the branch. Afterwards I received a reply from you saying that you hadn't pulled the branch anyway. At that point I was sure that neither MFD nor REGULATOR tree contains the patches. And only after that I updated the branch.
Here are 2 examples where you have changed immutable branches, which is 100% of the Pull Requests I have received from you. Using that record as a benchmark, the situation hardly seems unjust.
Quoted 8 lines
Quoted 6 lines
Quoted 3 lines
Until you can provide me with an assurance that you will not keep updating/changing the supposedly immutable pull-requests you send out, I won't be pulling any more in.
I can just uphold the assurance which is implicitly assumed for anyone who has never broken acclaimed rules. As justified above.
You have broken the rules every (100% of the) time.
Yes, I admit, I would lose in court.
Quoted 9 lines
Quoted 3 lines
[0] https://lore.kernel.org/patchwork/patch/1059075/
[1] https://lore.kernel.org/patchwork/patch/1059080/
[2] https://lore.kernel.org/patchwork/patch/1077066/So we have 2 choices moving forward; you can either provide me with assurance that you have learned from this experience and will never change an *immutable* branch again, or I can continue to handle them, which has been the preference for some years.
Quoted 4 lines
If you choose the former and adaptions need to be made in the future, the correct thing to do is create a *new*, different pull-request which has its own *new*, different tag, but uses the original tag as a base.
I choose the former. That being said:
Hereby I solemnly declare never ever change an immutable branch again.
Signature · 2 lines
Best regards, Jacek Anaszewski
Re: [RESEND PATCH v4 6/6] leds: lm36274: Introduce the TI LM36274 LED driver
Hello
Quoted 124 lines · Jacek Anaszewski
Quoted 103 lines · Lee Jones
Quoted 88 lines · Jacek Anaszewski
Quoted 63 lines · Lee Jones
Quoted 61 lines · Jacek Anaszewski
Quoted 59 lines · Lee Jones
Quoted 48 lines · Jacek Anaszewski
Hi,
Quoted 45 lines · Dan Murphy
Pavel
Thanks for the review
Quoted 4 lines · Pavel Machek
Hi!
Quoted 1 line
+++
b/drivers/leds/leds-lm36274.cQuoted 16 lines
Review
Quoted 13 lines
(quoted diff) +13
-0+static int lm36274_parse_dt(struct lm36274 *lm36274_data) +{ + struct fwnode_handle *child = NULL; + char label[LED_MAX_NAME_SIZE]; + struct device *dev = &lm36274_data->pdev->dev; + const char *name; + int child_cnt; + int ret = -EINVAL; + + /* There should only be 1 node */ + child_cnt = device_get_child_node_count(dev); + if (child_cnt != 1) + return ret;I'd do explicit "return
-EINVAL" here.ACK
Quoted 16 lines
Quoted 7 lines
(quoted diff) +7
-0+static int lm36274_probe(struct platform_device *pdev) +{ + struct ti_lmu *lmu = dev_get_drvdata(pdev->dev.parent); + struct lm36274 *lm36274_data; + int ret; + + lm36274_data = devm_kzalloc(&pdev->dev,Quoted 6 lines
sizeof(*lm36274_data),
+GFP_KERNEL);
+ if (!lm36274_data) {
+ ret =-ENOMEM;
+ return ret;
+ }And certainly do "return
-ENOMEM" explicitly here.Quoted 6 lines
Quoted 3 lines
ACK
Quoted 1 line
Acked-by Pavel Machek <[email protected]>I've done all amendments requested by Pavel and updated branch ib-leds-mfd-regulator on linux-leds.git, but in the same time
What do you mean by updated? You cannot update an 'ib' (immutable branch). Immutable means that it cannot change, by definition.
Quoted 6 lines
Quoted 2 lines
We have already talked about that. Nobody has pulled so the branch could have been safely updated.
You have no sure way to know that. And since I have no way to know, or faith that you won't update it again, pulling it now/at all would seem like a foolish thing to do.
Sorry, but you are simply unjust. You're pretending to portray the situation as if I have been notoriously causing merge conflicts in linux-next which did not take place.
Just to recap what this discussion is about:
On 7 Apr 2019:
1. I sent pull request [0].
2. 45 minutes later I updated it after discovering one omission [1]. It was rather small chance for it to be pulled as quickly as that. And even if it happened it wouldn't have been much harmful - we wouldn't have lost e.g. weeks of testing in linux-next due to that fact.On 21 May 2019:
Quoted 8 lines
3. I sent another pull request [2] to you and REGULATOR maintainers. After it turned out that lack of feedback from REGULATOR maintainers was caused by failing to send them the exact copies of patches to review, I informed you about possible need for updating the branch. Afterwards I received a reply from you saying that you hadn't pulled the branch anyway. At that point I was sure that neither MFD nor REGULATOR tree contains the patches. And only after that I updated the branch.
Here are 2 examples where you have changed immutable branches, which is 100% of the Pull Requests I have received from you. Using that record as a benchmark, the situation hardly seems unjust.
Quoted 8 lines
Quoted 6 lines
Quoted 3 lines
Until you can provide me with an assurance that you will not keep updating/changing the supposedly immutable pull-requests you send out, I won't be pulling any more in.
I can just uphold the assurance which is implicitly assumed for anyone who has never broken acclaimed rules. As justified above.
You have broken the rules every (100% of the) time.
Yes, I admit, I would lose in court.
Quoted 9 lines
Quoted 3 lines
[0] https://lore.kernel.org/patchwork/patch/1059075/
[1] https://lore.kernel.org/patchwork/patch/1059080/
[2] https://lore.kernel.org/patchwork/patch/1077066/So we have 2 choices moving forward; you can either provide me with assurance that you have learned from this experience and will never change an *immutable* branch again, or I can continue to handle them, which has been the preference for some years.
Quoted 9 lines
Quoted 4 lines
If you choose the former and adaptions need to be made in the future, the correct thing to do is create a *new*, different pull-request which has its own *new*, different tag, but uses the original tag as a base.
I choose the former. That being said:
Hereby I solemnly declare never ever change an immutable branch again.
So how do I proceed with the requested change by Mark B on the LM36274 driver.
Do I add a patch on top?
Or do I submit a patch to the regulator tree once the PR is pulled?
Dan
Re: [RESEND PATCH v4 6/6] leds: lm36274: Introduce the TI LM36274 LED driver
Dan,
Quoted 134 lines · Dan Murphy
Hello
Quoted 131 lines · Jacek Anaszewski
Quoted 103 lines · Lee Jones
Quoted 88 lines · Jacek Anaszewski
Quoted 63 lines · Lee Jones
Quoted 61 lines · Jacek Anaszewski
Quoted 59 lines · Lee Jones
Quoted 48 lines · Jacek Anaszewski
Hi,
Quoted 45 lines · Dan Murphy
Pavel
Thanks for the review
Quoted 4 lines · Pavel Machek
Hi!
Quoted 1 line
+++
b/drivers/leds/leds-lm36274.cQuoted 16 lines
Review
Quoted 13 lines
(quoted diff) +13
-0+static int lm36274_parse_dt(struct lm36274 *lm36274_data) +{ + struct fwnode_handle *child = NULL; + char label[LED_MAX_NAME_SIZE]; + struct device *dev = &lm36274_data->pdev->dev; + const char *name; + int child_cnt; + int ret = -EINVAL; + + /* There should only be 1 node */ + child_cnt = device_get_child_node_count(dev); + if (child_cnt != 1) + return ret;I'd do explicit "return
-EINVAL" here.ACK
Quoted 16 lines
Quoted 7 lines
(quoted diff) +7
-0+static int lm36274_probe(struct platform_device *pdev) +{ + struct ti_lmu *lmu = dev_get_drvdata(pdev->dev.parent); + struct lm36274 *lm36274_data; + int ret; + + lm36274_data = devm_kzalloc(&pdev->dev,Quoted 6 lines
sizeof(*lm36274_data),
+GFP_KERNEL);
+ if (!lm36274_data) {
+ ret =-ENOMEM;
+ return ret;
+ }And certainly do "return
-ENOMEM" explicitly here.Quoted 6 lines
Quoted 3 lines
ACK
Quoted 1 line
Acked-by Pavel Machek <[email protected]>I've done all amendments requested by Pavel and updated branch ib-leds-mfd-regulator on linux-leds.git, but in the same time
What do you mean by updated? You cannot update an 'ib' (immutable branch). Immutable means that it cannot change, by definition.
Quoted 6 lines
Quoted 2 lines
We have already talked about that. Nobody has pulled so the branch could have been safely updated.
You have no sure way to know that. And since I have no way to know, or faith that you won't update it again, pulling it now/at all would seem like a foolish thing to do.
Sorry, but you are simply unjust. You're pretending to portray the situation as if I have been notoriously causing merge conflicts in linux-next which did not take place.
Just to recap what this discussion is about:
On 7 Apr 2019:
1. I sent pull request [0].
2. 45 minutes later I updated it after discovering one omission [1]. It was rather small chance for it to be pulled as quickly as that. And even if it happened it wouldn't have been much harmful - we wouldn't have lost e.g. weeks of testing in linux-next due to that fact.On 21 May 2019:
Quoted 8 lines
3. I sent another pull request [2] to you and REGULATOR maintainers. After it turned out that lack of feedback from REGULATOR maintainers was caused by failing to send them the exact copies of patches to review, I informed you about possible need for updating the branch. Afterwards I received a reply from you saying that you hadn't pulled the branch anyway. At that point I was sure that neither MFD nor REGULATOR tree contains the patches. And only after that I updated the branch.
Here are 2 examples where you have changed immutable branches, which is 100% of the Pull Requests I have received from you. Using that record as a benchmark, the situation hardly seems unjust.
Quoted 8 lines
Quoted 6 lines
Quoted 3 lines
Until you can provide me with an assurance that you will not keep updating/changing the supposedly immutable pull-requests you send out, I won't be pulling any more in.
I can just uphold the assurance which is implicitly assumed for anyone who has never broken acclaimed rules. As justified above.
You have broken the rules every (100% of the) time.
Yes, I admit, I would lose in court.
Quoted 9 lines
Quoted 3 lines
[0] https://lore.kernel.org/patchwork/patch/1059075/
[1] https://lore.kernel.org/patchwork/patch/1059080/
[2] https://lore.kernel.org/patchwork/patch/1077066/So we have 2 choices moving forward; you can either provide me with assurance that you have learned from this experience and will never change an *immutable* branch again, or I can continue to handle them, which has been the preference for some years.
Quoted 4 lines
If you choose the former and adaptions need to be made in the future, the correct thing to do is create a *new*, different pull-request which has its own *new*, different tag, but uses the original tag as a base.
I choose the former. That being said:
Quoted 7 lines
Quoted 2 lines
Hereby I solemnly declare never ever change an immutable branch again.
So how do I proceed with the requested change by Mark B on the LM36274 driver.
Do I add a patch on top?
Or do I submit a patch to the regulator tree once the PR is pulled?
Won't the change be a dependency for [PATCH v4 1/6] ?
In each case, having all the commits in one set (and branch) should simplify the integration.
Signature · 2 lines
Best regards, Jacek Anaszewski
Re: [RESEND PATCH v4 6/6] leds: lm36274: Introduce the TI LM36274 LED driver
Jacek
Quoted 139 lines · Jacek Anaszewski
Dan,
Quoted 136 lines · Dan Murphy
Hello
Quoted 133 lines · Jacek Anaszewski
Quoted 103 lines · Lee Jones
Quoted 88 lines · Jacek Anaszewski
Quoted 63 lines · Lee Jones
Quoted 61 lines · Jacek Anaszewski
Quoted 59 lines · Lee Jones
Quoted 48 lines · Jacek Anaszewski
Hi,
Quoted 45 lines · Dan Murphy
Pavel
Thanks for the review
Quoted 4 lines · Pavel Machek
Hi!
Quoted 1 line
+++
b/drivers/leds/leds-lm36274.cQuoted 16 lines
Review
Quoted 13 lines
(quoted diff) +13
-0+static int lm36274_parse_dt(struct lm36274 *lm36274_data) +{ + struct fwnode_handle *child = NULL; + char label[LED_MAX_NAME_SIZE]; + struct device *dev = &lm36274_data->pdev->dev; + const char *name; + int child_cnt; + int ret = -EINVAL; + + /* There should only be 1 node */ + child_cnt = device_get_child_node_count(dev); + if (child_cnt != 1) + return ret;I'd do explicit "return
-EINVAL" here.ACK
Quoted 16 lines
Quoted 7 lines
(quoted diff) +7
-0+static int lm36274_probe(struct platform_device *pdev) +{ + struct ti_lmu *lmu = dev_get_drvdata(pdev->dev.parent); + struct lm36274 *lm36274_data; + int ret; + + lm36274_data = devm_kzalloc(&pdev->dev,Quoted 6 lines
sizeof(*lm36274_data),
+GFP_KERNEL);
+ if (!lm36274_data) {
+ ret =-ENOMEM;
+ return ret;
+ }And certainly do "return
-ENOMEM" explicitly here.Quoted 6 lines
Quoted 3 lines
ACK
Quoted 1 line
Acked-by Pavel Machek <[email protected]>I've done all amendments requested by Pavel and updated branch ib-leds-mfd-regulator on linux-leds.git, but in the same time
What do you mean by updated? You cannot update an 'ib' (immutable branch). Immutable means that it cannot change, by definition.
Quoted 6 lines
Quoted 2 lines
We have already talked about that. Nobody has pulled so the branch could have been safely updated.
You have no sure way to know that. And since I have no way to know, or faith that you won't update it again, pulling it now/at all would seem like a foolish thing to do.
Sorry, but you are simply unjust. You're pretending to portray the situation as if I have been notoriously causing merge conflicts in linux-next which did not take place.
Just to recap what this discussion is about:
On 7 Apr 2019:
1. I sent pull request [0].
2. 45 minutes later I updated it after discovering one omission [1]. It was rather small chance for it to be pulled as quickly as that. And even if it happened it wouldn't have been much harmful - we wouldn't have lost e.g. weeks of testing in linux-next due to that fact.On 21 May 2019:
Quoted 8 lines
3. I sent another pull request [2] to you and REGULATOR maintainers. After it turned out that lack of feedback from REGULATOR maintainers was caused by failing to send them the exact copies of patches to review, I informed you about possible need for updating the branch. Afterwards I received a reply from you saying that you hadn't pulled the branch anyway. At that point I was sure that neither MFD nor REGULATOR tree contains the patches. And only after that I updated the branch.
Here are 2 examples where you have changed immutable branches, which is 100% of the Pull Requests I have received from you. Using that record as a benchmark, the situation hardly seems unjust.
Quoted 8 lines
Quoted 6 lines
Quoted 3 lines
Until you can provide me with an assurance that you will not keep updating/changing the supposedly immutable pull-requests you send out, I won't be pulling any more in.
I can just uphold the assurance which is implicitly assumed for anyone who has never broken acclaimed rules. As justified above.
You have broken the rules every (100% of the) time.
Yes, I admit, I would lose in court.
Quoted 9 lines
Quoted 3 lines
[0] https://lore.kernel.org/patchwork/patch/1059075/
[1] https://lore.kernel.org/patchwork/patch/1059080/
[2] https://lore.kernel.org/patchwork/patch/1077066/So we have 2 choices moving forward; you can either provide me with assurance that you have learned from this experience and will never change an *immutable* branch again, or I can continue to handle them, which has been the preference for some years.
Quoted 4 lines
If you choose the former and adaptions need to be made in the future, the correct thing to do is create a *new*, different pull-request which has its own *new*, different tag, but uses the original tag as a base.
I choose the former. That being said:
Hereby I solemnly declare never ever change an immutable branch again.
Quoted 8 lines
Quoted 5 lines
So how do I proceed with the requested change by Mark B on the LM36274 driver.
Do I add a patch on top?
Or do I submit a patch to the regulator tree once the PR is pulled?
Won't the change be a dependency for [PATCH v4 1/6] ?
Yes thats why I am asking as we would need to change the branch.
Dan
Quoted 3 lines
In each case, having all the commits in one set (and branch) should simplify the integration.
Re: [RESEND PATCH v4 6/6] leds: lm36274: Introduce the TI LM36274 LED driver
Dan,
Quoted 144 lines · Dan Murphy
Jacek
Quoted 141 lines · Jacek Anaszewski
Dan,
Quoted 138 lines · Dan Murphy
Hello
Quoted 124 lines · Jacek Anaszewski
Quoted 103 lines · Lee Jones
Quoted 88 lines · Jacek Anaszewski
Quoted 63 lines · Lee Jones
Quoted 61 lines · Jacek Anaszewski
Quoted 59 lines · Lee Jones
Quoted 48 lines · Jacek Anaszewski
Hi,
Quoted 45 lines · Dan Murphy
Pavel
Thanks for the review
Quoted 4 lines · Pavel Machek
Hi!
Quoted 1 line
+++ b/drivers/leds/leds-lm36274.c
Quoted 16 lines
Quoted 13 lines
+static int lm36274_parse_dt(struct lm36274 *lm36274_data)
+{
+ struct fwnode_handle *child = NULL;
+ char label[LED_MAX_NAME_SIZE];
+ struct device *dev = &lm36274_data->pdev->dev;
+ const char *name;
+ int child_cnt;
+ int ret = -EINVAL;
+
+ /* There should only be 1 node */
+ child_cnt = device_get_child_node_count(dev);
+ if (child_cnt != 1)
+ return ret;I'd do explicit "return
-EINVAL" here.ACK
Quoted 16 lines
Quoted 13 lines
+static int lm36274_probe(struct platform_device *pdev)
+{
+ struct ti_lmu *lmu = dev_get_drvdata(pdev->dev.parent);
+ struct lm36274 *lm36274_data;
+ int ret;
+
+ lm36274_data = devm_kzalloc(&pdev->dev,
sizeof(*lm36274_data),
+ GFP_KERNEL);
+ if (!lm36274_data) {
+ ret = -ENOMEM;
+ return ret;
+ }And certainly do "return
-ENOMEM" explicitly here.Quoted 6 lines
Quoted 3 lines
ACK
Quoted 1 line
Acked-by Pavel Machek <[email protected]>I've done all amendments requested by Pavel and updated branch ib-leds-mfd-regulator on linux-leds.git, but in the same time
What do you mean by updated? You cannot update an 'ib' (immutable branch). Immutable means that it cannot change, by definition.
Quoted 6 lines
Quoted 2 lines
We have already talked about that. Nobody has pulled so the branch could have been safely updated.
You have no sure way to know that. And since I have no way to know, or faith that you won't update it again, pulling it now/at all would seem like a foolish thing to do.
Sorry, but you are simply unjust. You're pretending to portray the situation as if I have been notoriously causing merge conflicts in linux-next which did not take place.
Just to recap what this discussion is about:
On 7 Apr 2019:
1. I sent pull request [0].
2. 45 minutes later I updated it after discovering one omission [1]. It was rather small chance for it to be pulled as quickly as that. And even if it happened it wouldn't have been much harmful - we wouldn't have lost e.g. weeks of testing in linux-next due to that fact.On 21 May 2019:
Quoted 8 lines
3. I sent another pull request [2] to you and REGULATOR maintainers. After it turned out that lack of feedback from REGULATOR maintainers was caused by failing to send them the exact copies of patches to review, I informed you about possible need for updating the branch. Afterwards I received a reply from you saying that you hadn't pulled the branch anyway. At that point I was sure that neither MFD nor REGULATOR tree contains the patches. And only after that I updated the branch.
Here are 2 examples where you have changed immutable branches, which is 100% of the Pull Requests I have received from you. Using that record as a benchmark, the situation hardly seems unjust.
Quoted 8 lines
Quoted 6 lines
Quoted 3 lines
Until you can provide me with an assurance that you will not keep updating/changing the supposedly immutable pull-requests you send out, I won't be pulling any more in.
I can just uphold the assurance which is implicitly assumed for anyone who has never broken acclaimed rules. As justified above.
You have broken the rules every (100% of the) time.
Yes, I admit, I would lose in court.
Quoted 9 lines
Quoted 3 lines
[0] https://lore.kernel.org/patchwork/patch/1059075/
[1] https://lore.kernel.org/patchwork/patch/1059080/
[2] https://lore.kernel.org/patchwork/patch/1077066/So we have 2 choices moving forward; you can either provide me with assurance that you have learned from this experience and will never change an *immutable* branch again, or I can continue to handle them, which has been the preference for some years.
Quoted 9 lines
Quoted 4 lines
If you choose the former and adaptions need to be made in the future, the correct thing to do is create a *new*, different pull-request which has its own *new*, different tag, but uses the original tag as a base.
I choose the former. That being said:
Hereby I solemnly declare never ever change an immutable branch again.
So how do I proceed with the requested change by Mark B on the LM36274 driver.
Quoted 7 lines
Quoted 6 lines
Quoted 3 lines
Do I add a patch on top?
Or do I submit a patch to the regulator tree once the PR is pulled?
Won't the change be a dependency for [PATCH v4 1/6] ?
Yes thats why I am asking as we would need to change the branch.
I will need to send another pull request anyway - I haven't created new one after updating the branch so far, so for now we are free to change it.
Signature · 2 lines
Best regards, Jacek Anaszewski
Hi Dan,
Quoted 5 lines · Dan Murphy
Hello
This is patch set v4 for the LM36274. There were no changes made to this patch set except to rebase this on top of the latest TI LMU common code patchset.
Why the rebase was needed? leds-lm36274.c was already including leds-ti-lmu-common.h.
Quoted 28 lines
This patch set was rebased on the series at:
https://lore.kernel.org/patchwork/project/lkml/list/?series=393071Dan
Dan Murphy (6):
regulator: lm363x: Make the gpio register enable flexible
dt-bindings: mfd: Add lm36274 bindings to ti-lmu
mfd: ti-lmu: Add LM36274 support to the ti-lmu
regulator: lm363x: Add support for LM36274
dt-bindings: leds: Add LED bindings for the LM36274
leds: lm36274: Introduce the TI LM36274 LED driver.../devicetree/bindings/leds/leds-lm36274.txt | 82 +++++++++ .../devicetree/bindings/mfd/ti-lmu.txt | 54 ++++++ drivers/leds/Kconfig | 7 + drivers/leds/Makefile | 1 + drivers/leds/leds-lm36274.c | 174 ++++++++++++++++++ drivers/mfd/Kconfig | 5 +- drivers/mfd/ti-lmu.c | 14 ++ drivers/regulator/Kconfig | 2 +- drivers/regulator/lm363x-regulator.c | 56 +++++- include/linux/mfd/ti-lmu-register.h | 23 +++ include/linux/mfd/ti-lmu.h | 4 + 11 files changed, 416 insertions(+), 6 deletions(-)create mode 100644
Documentation/devicetree/bindings/leds/leds-lm36274.txtcreate mode 100644drivers/leds/leds-lm36274.c
Signature · 2 lines
Best regards, Jacek Anaszewski
Jacek
Quoted 12 lines · Jacek Anaszewski
Hi Dan,
Quoted 5 lines · Dan Murphy
Hello
This is patch set v4 for the LM36274. There were no changes made to this patch set except to rebase this on top of the latest TI LMU common code patchset.
Why the rebase was needed?
leds-lm36274.cwas already includingleds-ti-lmu-common.h.
I just resent the patchset.
This was the cover letter in the series I sent originally.
Dan
<snip>