2024-02-01 15:24:23

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v2 0/3] backlight: mp3309c: Allow to use on non-OF platforms

Allow to use driver on non-OF platforms and other cleanups.

Changelog v2:
- rename pm3309c_parse_dt_node() --> mp3309c_parse_fwnode() (Daniel)
- add tags (Daniel, Flavio)
- new patch 2

Andy Shevchenko (3):
backlight: mp3309c: Make use of device properties
backlight: mp3309c: use dev_err_probe() instead of dev_err()
backlight: mp3309c: Utilise temporary variable for struct device

drivers/video/backlight/mp3309c.c | 88 ++++++++++++-------------------
1 file changed, 35 insertions(+), 53 deletions(-)

--
2.43.0.rc1.1.gbec44491f096



2024-02-01 18:39:22

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v2 3/3] backlight: mp3309c: Utilise temporary variable for struct device

We have a temporary variable to keep pointer to struct device.
Utilise it where it makes sense.

Reviewed-by: Daniel Thompson <[email protected]>
Tested-by: Flavio Suligoi <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/video/backlight/mp3309c.c | 30 ++++++++++++------------------
1 file changed, 12 insertions(+), 18 deletions(-)

diff --git a/drivers/video/backlight/mp3309c.c b/drivers/video/backlight/mp3309c.c
index 2d6bd1a180b3..e7abefd175a4 100644
--- a/drivers/video/backlight/mp3309c.c
+++ b/drivers/video/backlight/mp3309c.c
@@ -222,10 +222,9 @@ static int mp3309c_parse_fwnode(struct mp3309c_chip *chip,
*/
pdata->dimming_mode = DIMMING_ANALOG_I2C;
if (device_property_present(dev, "pwms")) {
- chip->pwmd = devm_pwm_get(chip->dev, NULL);
+ chip->pwmd = devm_pwm_get(dev, NULL);
if (IS_ERR(chip->pwmd))
- return dev_err_probe(chip->dev, PTR_ERR(chip->pwmd),
- "error getting pwm data\n");
+ return dev_err_probe(dev, PTR_ERR(chip->pwmd), "error getting pwm data\n");
pdata->dimming_mode = DIMMING_PWM;
pwm_apply_args(chip->pwmd);
}
@@ -243,11 +242,9 @@ static int mp3309c_parse_fwnode(struct mp3309c_chip *chip,
num_levels = ANALOG_I2C_NUM_LEVELS;

/* Enable GPIO used in I2C dimming mode only */
- chip->enable_gpio = devm_gpiod_get(chip->dev, "enable",
- GPIOD_OUT_HIGH);
+ chip->enable_gpio = devm_gpiod_get(dev, "enable", GPIOD_OUT_HIGH);
if (IS_ERR(chip->enable_gpio))
- return dev_err_probe(chip->dev,
- PTR_ERR(chip->enable_gpio),
+ return dev_err_probe(dev, PTR_ERR(chip->enable_gpio),
"error getting enable gpio\n");
} else {
/*
@@ -265,8 +262,7 @@ static int mp3309c_parse_fwnode(struct mp3309c_chip *chip,
}

/* Fill brightness levels array */
- pdata->levels = devm_kcalloc(chip->dev, num_levels,
- sizeof(*pdata->levels), GFP_KERNEL);
+ pdata->levels = devm_kcalloc(dev, num_levels, sizeof(*pdata->levels), GFP_KERNEL);
if (!pdata->levels)
return -ENOMEM;
if (device_property_present(dev, "brightness-levels")) {
@@ -336,21 +332,21 @@ static int mp3309c_probe(struct i2c_client *client)
if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C))
return dev_err_probe(dev, -EOPNOTSUPP, "failed to check i2c functionality\n");

- chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL);
+ chip = devm_kzalloc(dev, sizeof(*chip), GFP_KERNEL);
if (!chip)
return -ENOMEM;

- chip->dev = &client->dev;
+ chip->dev = dev;

chip->regmap = devm_regmap_init_i2c(client, &mp3309c_regmap);
if (IS_ERR(chip->regmap))
- return dev_err_probe(&client->dev, PTR_ERR(chip->regmap),
+ return dev_err_probe(dev, PTR_ERR(chip->regmap),
"failed to allocate register map\n");

i2c_set_clientdata(client, chip);

if (!pdata) {
- pdata = devm_kzalloc(chip->dev, sizeof(*pdata), GFP_KERNEL);
+ pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL);
if (!pdata)
return -ENOMEM;

@@ -367,11 +363,10 @@ static int mp3309c_probe(struct i2c_client *client)
props.type = BACKLIGHT_RAW;
props.power = FB_BLANK_UNBLANK;
props.fb_blank = FB_BLANK_UNBLANK;
- chip->bl = devm_backlight_device_register(chip->dev, "mp3309c",
- chip->dev, chip,
+ chip->bl = devm_backlight_device_register(dev, "mp3309c", dev, chip,
&mp3309c_bl_ops, &props);
if (IS_ERR(chip->bl))
- return dev_err_probe(chip->dev, PTR_ERR(chip->bl),
+ return dev_err_probe(dev, PTR_ERR(chip->bl),
"error registering backlight device\n");

/* In PWM dimming mode, enable pwm device */
@@ -383,8 +378,7 @@ static int mp3309c_probe(struct i2c_client *client)
pwmstate.enabled = true;
ret = pwm_apply_state(chip->pwmd, &pwmstate);
if (ret)
- return dev_err_probe(chip->dev, ret,
- "error setting pwm device\n");
+ return dev_err_probe(dev, ret, "error setting pwm device\n");
}

chip->pdata->status = FIRST_POWER_ON;
--
2.43.0.rc1.1.gbec44491f096


2024-02-01 22:30:04

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v2 1/3] backlight: mp3309c: Make use of device properties

Convert the module to be property provider agnostic and allow
it to be used on non-OF platforms.

Add mod_devicetable.h include.

Tested-by: Flavio Suligoi <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/video/backlight/mp3309c.c | 44 +++++++++++++------------------
1 file changed, 18 insertions(+), 26 deletions(-)

diff --git a/drivers/video/backlight/mp3309c.c b/drivers/video/backlight/mp3309c.c
index 34d71259fac1..762bd738c903 100644
--- a/drivers/video/backlight/mp3309c.c
+++ b/drivers/video/backlight/mp3309c.c
@@ -15,6 +15,8 @@
#include <linux/delay.h>
#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
+#include <linux/mod_devicetable.h>
+#include <linux/property.h>
#include <linux/pwm.h>
#include <linux/regmap.h>

@@ -199,18 +201,15 @@ static const struct backlight_ops mp3309c_bl_ops = {
.update_status = mp3309c_bl_update_status,
};

-static int pm3309c_parse_dt_node(struct mp3309c_chip *chip,
- struct mp3309c_platform_data *pdata)
+static int mp3309c_parse_fwnode(struct mp3309c_chip *chip,
+ struct mp3309c_platform_data *pdata)
{
- struct device_node *node = chip->dev->of_node;
- struct property *prop_pwms;
- struct property *prop_levels = NULL;
- int length = 0;
int ret, i;
unsigned int num_levels, tmp_value;
+ struct device *dev = chip->dev;

- if (!node) {
- dev_err(chip->dev, "failed to get DT node\n");
+ if (!dev_fwnode(dev)) {
+ dev_err(dev, "failed to get firmware node\n");
return -ENODEV;
}

@@ -224,8 +223,7 @@ static int pm3309c_parse_dt_node(struct mp3309c_chip *chip,
* found in the backlight node, the mode switches to PWM mode.
*/
pdata->dimming_mode = DIMMING_ANALOG_I2C;
- prop_pwms = of_find_property(node, "pwms", &length);
- if (prop_pwms) {
+ if (device_property_present(dev, "pwms")) {
chip->pwmd = devm_pwm_get(chip->dev, NULL);
if (IS_ERR(chip->pwmd))
return dev_err_probe(chip->dev, PTR_ERR(chip->pwmd),
@@ -257,11 +255,9 @@ static int pm3309c_parse_dt_node(struct mp3309c_chip *chip,
/*
* PWM control mode: check for brightness level in DT
*/
- prop_levels = of_find_property(node, "brightness-levels",
- &length);
- if (prop_levels) {
+ if (device_property_present(dev, "brightness-levels")) {
/* Read brightness levels from DT */
- num_levels = length / sizeof(u32);
+ num_levels = device_property_count_u32(dev, "brightness-levels");
if (num_levels < 2)
return -EINVAL;
} else {
@@ -275,10 +271,9 @@ static int pm3309c_parse_dt_node(struct mp3309c_chip *chip,
sizeof(*pdata->levels), GFP_KERNEL);
if (!pdata->levels)
return -ENOMEM;
- if (prop_levels) {
- ret = of_property_read_u32_array(node, "brightness-levels",
- pdata->levels,
- num_levels);
+ if (device_property_present(dev, "brightness-levels")) {
+ ret = device_property_read_u32_array(dev, "brightness-levels",
+ pdata->levels, num_levels);
if (ret < 0)
return ret;
} else {
@@ -288,8 +283,7 @@ static int pm3309c_parse_dt_node(struct mp3309c_chip *chip,

pdata->max_brightness = num_levels - 1;

- ret = of_property_read_u32(node, "default-brightness",
- &pdata->default_brightness);
+ ret = device_property_read_u32(dev, "default-brightness", &pdata->default_brightness);
if (ret)
pdata->default_brightness = pdata->max_brightness;
if (pdata->default_brightness > pdata->max_brightness) {
@@ -310,8 +304,8 @@ static int pm3309c_parse_dt_node(struct mp3309c_chip *chip,
* If missing, the default value for OVP is 35.5V
*/
pdata->over_voltage_protection = REG_I2C_1_OVP1;
- if (!of_property_read_u32(node, "mps,overvoltage-protection-microvolt",
- &tmp_value)) {
+ ret = device_property_read_u32(dev, "mps,overvoltage-protection-microvolt", &tmp_value);
+ if (!ret) {
switch (tmp_value) {
case 13500000:
pdata->over_voltage_protection = 0x00;
@@ -328,9 +322,7 @@ static int pm3309c_parse_dt_node(struct mp3309c_chip *chip,
}

/* Synchronous (default) and non-synchronous mode */
- pdata->sync_mode = true;
- if (of_property_read_bool(node, "mps,no-sync-mode"))
- pdata->sync_mode = false;
+ pdata->sync_mode = !device_property_read_bool(dev, "mps,no-sync-mode");

return 0;
}
@@ -366,7 +358,7 @@ static int mp3309c_probe(struct i2c_client *client)
if (!pdata)
return -ENOMEM;

- ret = pm3309c_parse_dt_node(chip, pdata);
+ ret = mp3309c_parse_fwnode(chip, pdata);
if (ret)
return ret;
}
--
2.43.0.rc1.1.gbec44491f096


2024-02-02 10:28:17

by Daniel Thompson

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] backlight: mp3309c: Make use of device properties

On Thu, Feb 01, 2024 at 05:14:13PM +0200, Andy Shevchenko wrote:
> Convert the module to be property provider agnostic and allow
> it to be used on non-OF platforms.
>
> Add mod_devicetable.h include.
>
> Tested-by: Flavio Suligoi <[email protected]>
> Signed-off-by: Andy Shevchenko <[email protected]>

Reviewed-by: Daniel Thompson <[email protected]>


Daniel.

2024-02-02 10:52:46

by FLAVIO SULIGOI

[permalink] [raw]
Subject: RE: [PATCH v2 0/3] backlight: mp3309c: Allow to use on non-OF platforms

Hi Andy,

..

> Subject: [PATCH v2 0/3] backlight: mp3309c: Allow to use on non-OF
> platforms
>
> Allow to use driver on non-OF platforms and other cleanups.
>
> Changelog v2:
> - rename pm3309c_parse_dt_node() --> mp3309c_parse_fwnode() (Daniel)
> - add tags (Daniel, Flavio)
> - new patch 2
>
> Andy Shevchenko (3):
> backlight: mp3309c: Make use of device properties
> backlight: mp3309c: use dev_err_probe() instead of dev_err()
> backlight: mp3309c: Utilise temporary variable for struct device
..
I've just tested again all your three patches (using the last 8.8.0-rc1 for-backlight-next ) on my board and all is ok.

Thanks,
Flavio

2024-02-02 15:37:18

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] backlight: mp3309c: Allow to use on non-OF platforms

On Fri, Feb 02, 2024 at 10:52:32AM +0000, Flavio Suligoi wrote:

> > Andy Shevchenko (3):
> > backlight: mp3309c: Make use of device properties
> > backlight: mp3309c: use dev_err_probe() instead of dev_err()
> > backlight: mp3309c: Utilise temporary variable for struct device

> I've just tested again all your three patches (using the last 8.8.0-rc1
> for-backlight-next ) on my board and all is ok.

Thank you!

--
With Best Regards,
Andy Shevchenko



2024-02-08 11:37:08

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] backlight: mp3309c: Allow to use on non-OF platforms

On Thu, 01 Feb 2024, Andy Shevchenko wrote:

> Allow to use driver on non-OF platforms and other cleanups.
>
> Changelog v2:
> - rename pm3309c_parse_dt_node() --> mp3309c_parse_fwnode() (Daniel)
> - add tags (Daniel, Flavio)
> - new patch 2
>
> Andy Shevchenko (3):
> backlight: mp3309c: Make use of device properties
> backlight: mp3309c: use dev_err_probe() instead of dev_err()
> backlight: mp3309c: Utilise temporary variable for struct device
>
> drivers/video/backlight/mp3309c.c | 88 ++++++++++++-------------------
> 1 file changed, 35 insertions(+), 53 deletions(-)

Set no longer applies. Please rebase, thanks.

--
Lee Jones [李琼斯]

2024-02-08 14:31:19

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] backlight: mp3309c: Allow to use on non-OF platforms

On Thu, 01 Feb 2024 17:14:12 +0200, Andy Shevchenko wrote:
> Allow to use driver on non-OF platforms and other cleanups.
>
> Changelog v2:
> - rename pm3309c_parse_dt_node() --> mp3309c_parse_fwnode() (Daniel)
> - add tags (Daniel, Flavio)
> - new patch 2
>
> [...]

Applied, thanks!

[1/3] backlight: mp3309c: Make use of device properties
commit: e531c279ddee738260a94b2121836549ea167f63
[2/3] backlight: mp3309c: use dev_err_probe() instead of dev_err()
commit: d991269f64928051c895151a8589dce806a92d9e
[3/3] backlight: mp3309c: Utilise temporary variable for struct device
(no commit info)

--
Lee Jones [李琼斯]


2024-02-08 17:18:34

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] backlight: mp3309c: Allow to use on non-OF platforms

On Thu, Feb 08, 2024 at 11:34:25AM +0000, Lee Jones wrote:
> On Thu, 01 Feb 2024, Andy Shevchenko wrote:

..

> > backlight: mp3309c: Utilise temporary variable for struct device

(1)

> Set no longer applies. Please rebase, thanks.

I got a contradictory messages:
1) email that says that all had been applied;
2) this email (that tells the complete opposite);
3) the repository where the first two were applied.

While you can amend your scripts, I think I need to rebase only the last patch
(1) that may not be found in your tree currently.

--
With Best Regards,
Andy Shevchenko



2024-02-08 17:39:58

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] backlight: mp3309c: Allow to use on non-OF platforms

On Thu, 08 Feb 2024, Andy Shevchenko wrote:

> On Thu, Feb 08, 2024 at 11:34:25AM +0000, Lee Jones wrote:
> > On Thu, 01 Feb 2024, Andy Shevchenko wrote:
>
> ...
>
> > > backlight: mp3309c: Utilise temporary variable for struct device
>
> (1)
>
> > Set no longer applies. Please rebase, thanks.
>
> I got a contradictory messages:
> 1) email that says that all had been applied;
> 2) this email (that tells the complete opposite);
> 3) the repository where the first two were applied.
>
> While you can amend your scripts, I think I need to rebase only the last patch

This is what I assume happened:

1. Attempted to apply the set (as a set)
2. 2 commits applied cleanly
3. The final commit conflicted
4. I sent you a message to say that the set failed to apply
5. *** I forgot to remove the 2 successful patches ***
6. I applied another patch
7. b4 noticed the 2 patches that were applied and thanked you for them
8. *** I didn't notice that those tys were sent ***

No need to update the scripts. :)

> (1) that may not be found in your tree currently.

I'm going to remove the other ones now. Please submit the set.

--
Lee Jones [李琼斯]

2024-02-08 18:08:16

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] backlight: mp3309c: Allow to use on non-OF platforms

On Thu, Feb 08, 2024 at 05:39:46PM +0000, Lee Jones wrote:
> On Thu, 08 Feb 2024, Andy Shevchenko wrote:
> > On Thu, Feb 08, 2024 at 11:34:25AM +0000, Lee Jones wrote:
> > > On Thu, 01 Feb 2024, Andy Shevchenko wrote:

..

> > > > backlight: mp3309c: Utilise temporary variable for struct device
> >
> > (1)
> >
> > > Set no longer applies. Please rebase, thanks.
> >
> > I got a contradictory messages:
> > 1) email that says that all had been applied;
> > 2) this email (that tells the complete opposite);
> > 3) the repository where the first two were applied.
> >
> > While you can amend your scripts, I think I need to rebase only the last patch
>
> This is what I assume happened:
>
> 1. Attempted to apply the set (as a set)
> 2. 2 commits applied cleanly
> 3. The final commit conflicted

Which is really strange. I have just applied (with b4) on top of your changes
and no complains so far.

$ git am ./v2_20240201_andriy_shevchenko_backlight_mp3309c_allow_to_use_on_non_of_platforms.mbx
Applying: backlight: mp3309c: Make use of device properties
Applying: backlight: mp3309c: use dev_err_probe() instead of dev_err()
Applying: backlight: mp3309c: Utilise temporary variable for struct device

Can you show what b4 tells you about this?

> 4. I sent you a message to say that the set failed to apply
> 5. *** I forgot to remove the 2 successful patches ***
> 6. I applied another patch
> 7. b4 noticed the 2 patches that were applied and thanked you for them
> 8. *** I didn't notice that those tys were sent ***
>
> No need to update the scripts. :)
>
> > (1) that may not be found in your tree currently.
>
> I'm going to remove the other ones now. Please submit the set.

I'll do, but I want to understand better what's going on.

--
With Best Regards,
Andy Shevchenko



2024-02-08 18:24:22

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] backlight: mp3309c: Allow to use on non-OF platforms

On Thu, Feb 08, 2024 at 06:14:55PM +0000, Lee Jones wrote:
> On Thu, 08 Feb 2024, Andy Shevchenko wrote:
> > On Thu, Feb 08, 2024 at 05:39:46PM +0000, Lee Jones wrote:
> > > On Thu, 08 Feb 2024, Andy Shevchenko wrote:
> > > > On Thu, Feb 08, 2024 at 11:34:25AM +0000, Lee Jones wrote:
> > > > > On Thu, 01 Feb 2024, Andy Shevchenko wrote:

..

> > > > > > backlight: mp3309c: Utilise temporary variable for struct device
> > > >
> > > > (1)
> > > >
> > > > > Set no longer applies. Please rebase, thanks.
> > > >
> > > > I got a contradictory messages:
> > > > 1) email that says that all had been applied;
> > > > 2) this email (that tells the complete opposite);
> > > > 3) the repository where the first two were applied.
> > > >
> > > > While you can amend your scripts, I think I need to rebase only the last patch
> > >
> > > This is what I assume happened:
> > >
> > > 1. Attempted to apply the set (as a set)
> > > 2. 2 commits applied cleanly
> > > 3. The final commit conflicted
> >
> > Which is really strange. I have just applied (with b4) on top of your changes
> > and no complains so far.
> >
> > $ git am ./v2_20240201_andriy_shevchenko_backlight_mp3309c_allow_to_use_on_non_of_platforms.mbx
> > Applying: backlight: mp3309c: Make use of device properties
> > Applying: backlight: mp3309c: use dev_err_probe() instead of dev_err()
> > Applying: backlight: mp3309c: Utilise temporary variable for struct device
> >
> > Can you show what b4 tells you about this?
>
> Fetching patch(es)
> Analyzing 14 messages in the thread
> Checking attestation on all messages, may take a moment...
> ---
> ✓ [PATCH v2 1/3] backlight: mp3309c: Make use of device properties
> + Reviewed-by: Daniel Thompson <[email protected]> (✓ DKIM/linaro.org)
> + Link: https://lore.kernel.org/r/[email protected]
> + Signed-off-by: Lee Jones <[email protected]>
> ✓ [PATCH v2 2/3] backlight: mp3309c: use dev_err_probe() instead of dev_err()
> + Tested-by: Flavio Suligoi <[email protected]> (✗ DKIM/asem.it)
> + Reviewed-by: Daniel Thompson <[email protected]> (✓ DKIM/linaro.org)
> + Link: https://lore.kernel.org/r/[email protected]
> + Signed-off-by: Lee Jones <[email protected]>
> ✓ [PATCH v2 3/3] backlight: mp3309c: Utilise temporary variable for struct device
> + Link: https://lore.kernel.org/r/[email protected]
> + Signed-off-by: Lee Jones <[email protected]>
> ---
> ✓ Signed: DKIM/intel.com (From: [email protected])
> ---
> Total patches: 3
> Prepared a fake commit range for 3-way merge (672ecc5199b5..d507b9f4c5b9)
> ---
> Link: https://lore.kernel.org/r/[email protected]
> Base: not specified
>
> Running through checkpatch.pl
> total: 0 errors, 0 warnings, 103 lines checked
>
> "[PATCH v2 1/3] backlight: mp3309c: Make use of device properties" has no obvious style problems and is ready for submission.
> total: 0 errors, 0 warnings, 41 lines checked
>
> "[PATCH v2 2/3] backlight: mp3309c: use dev_err_probe() instead of" has no obvious style problems and is ready for submission.
> total: 0 errors, 0 warnings, 81 lines checked
>
> "[PATCH v2 3/3] backlight: mp3309c: Utilise temporary variable for" has no obvious style problems and is ready for submission.
>
> Check the results (hit return to continue or Ctrl+c to exit)
>
>
> Applying patch(es)
> Applying: backlight: mp3309c: Make use of device properties
> Applying: backlight: mp3309c: use dev_err_probe() instead of dev_err()
> Applying: backlight: mp3309c: Utilise temporary variable for struct device
> Using index info to reconstruct a base tree...
> M drivers/video/backlight/mp3309c.c
> Checking patch drivers/video/backlight/mp3309c.c...
> Applied patch drivers/video/backlight/mp3309c.c cleanly.
> Falling back to patching base and 3-way merge...
> error: Your local changes to the following files would be overwritten by merge:
> drivers/video/backlight/mp3309c.c
> Please commit your changes or stash them before you merge.
> Aborting
> error: Failed to merge in the changes.
> Patch failed at 0003 backlight: mp3309c: Utilise temporary variable for struct device
> hint: Use 'git am --show-current-patch=diff' to see the failed patch
> When you have resolved this problem, run "git am --continue".
> If you prefer to skip this patch, run "git am --skip" instead.
> To restore the original branch and stop patching, run "git am --abort".

Thank you!

It seems I have reduced context, so if you do `git am -C2 ...` it should apply.
Never mind, I'll send a new version which should work with -C3.

--
With Best Regards,
Andy Shevchenko



2024-02-08 18:48:18

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] backlight: mp3309c: Allow to use on non-OF platforms

On Thu, 08 Feb 2024, Andy Shevchenko wrote:

> On Thu, Feb 08, 2024 at 05:39:46PM +0000, Lee Jones wrote:
> > On Thu, 08 Feb 2024, Andy Shevchenko wrote:
> > > On Thu, Feb 08, 2024 at 11:34:25AM +0000, Lee Jones wrote:
> > > > On Thu, 01 Feb 2024, Andy Shevchenko wrote:
>
> ...
>
> > > > > backlight: mp3309c: Utilise temporary variable for struct device
> > >
> > > (1)
> > >
> > > > Set no longer applies. Please rebase, thanks.
> > >
> > > I got a contradictory messages:
> > > 1) email that says that all had been applied;
> > > 2) this email (that tells the complete opposite);
> > > 3) the repository where the first two were applied.
> > >
> > > While you can amend your scripts, I think I need to rebase only the last patch
> >
> > This is what I assume happened:
> >
> > 1. Attempted to apply the set (as a set)
> > 2. 2 commits applied cleanly
> > 3. The final commit conflicted
>
> Which is really strange. I have just applied (with b4) on top of your changes
> and no complains so far.
>
> $ git am ./v2_20240201_andriy_shevchenko_backlight_mp3309c_allow_to_use_on_non_of_platforms.mbx
> Applying: backlight: mp3309c: Make use of device properties
> Applying: backlight: mp3309c: use dev_err_probe() instead of dev_err()
> Applying: backlight: mp3309c: Utilise temporary variable for struct device
>
> Can you show what b4 tells you about this?

Fetching patch(es)
Analyzing 14 messages in the thread
Checking attestation on all messages, may take a moment...
---
✓ [PATCH v2 1/3] backlight: mp3309c: Make use of device properties
+ Reviewed-by: Daniel Thompson <[email protected]> (✓ DKIM/linaro.org)
+ Link: https://lore.kernel.org/r/[email protected]
+ Signed-off-by: Lee Jones <[email protected]>
✓ [PATCH v2 2/3] backlight: mp3309c: use dev_err_probe() instead of dev_err()
+ Tested-by: Flavio Suligoi <[email protected]> (✗ DKIM/asem.it)
+ Reviewed-by: Daniel Thompson <[email protected]> (✓ DKIM/linaro.org)
+ Link: https://lore.kernel.org/r/[email protected]
+ Signed-off-by: Lee Jones <[email protected]>
✓ [PATCH v2 3/3] backlight: mp3309c: Utilise temporary variable for struct device
+ Link: https://lore.kernel.org/r/[email protected]
+ Signed-off-by: Lee Jones <[email protected]>
---
✓ Signed: DKIM/intel.com (From: [email protected])
---
Total patches: 3
Prepared a fake commit range for 3-way merge (672ecc5199b5..d507b9f4c5b9)
---
Link: https://lore.kernel.org/r/[email protected]
Base: not specified

Running through checkpatch.pl
total: 0 errors, 0 warnings, 103 lines checked

"[PATCH v2 1/3] backlight: mp3309c: Make use of device properties" has no obvious style problems and is ready for submission.
total: 0 errors, 0 warnings, 41 lines checked

"[PATCH v2 2/3] backlight: mp3309c: use dev_err_probe() instead of" has no obvious style problems and is ready for submission.
total: 0 errors, 0 warnings, 81 lines checked

"[PATCH v2 3/3] backlight: mp3309c: Utilise temporary variable for" has no obvious style problems and is ready for submission.

Check the results (hit return to continue or Ctrl+c to exit)


Applying patch(es)
Applying: backlight: mp3309c: Make use of device properties
Applying: backlight: mp3309c: use dev_err_probe() instead of dev_err()
Applying: backlight: mp3309c: Utilise temporary variable for struct device
Using index info to reconstruct a base tree...
M drivers/video/backlight/mp3309c.c
Checking patch drivers/video/backlight/mp3309c.c...
Applied patch drivers/video/backlight/mp3309c.c cleanly.
Falling back to patching base and 3-way merge...
error: Your local changes to the following files would be overwritten by merge:
drivers/video/backlight/mp3309c.c
Please commit your changes or stash them before you merge.
Aborting
error: Failed to merge in the changes.
Patch failed at 0003 backlight: mp3309c: Utilise temporary variable for struct device
hint: Use 'git am --show-current-patch=diff' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

--
Lee Jones [李琼斯]

2024-02-09 08:11:09

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] backlight: mp3309c: Allow to use on non-OF platforms

On Thu, 08 Feb 2024, Andy Shevchenko wrote:

> On Thu, Feb 08, 2024 at 06:14:55PM +0000, Lee Jones wrote:
> > On Thu, 08 Feb 2024, Andy Shevchenko wrote:
> > > On Thu, Feb 08, 2024 at 05:39:46PM +0000, Lee Jones wrote:
> > > > On Thu, 08 Feb 2024, Andy Shevchenko wrote:
> > > > > On Thu, Feb 08, 2024 at 11:34:25AM +0000, Lee Jones wrote:
> > > > > > On Thu, 01 Feb 2024, Andy Shevchenko wrote:
>
> ...
>
> > > > > > > backlight: mp3309c: Utilise temporary variable for struct device
> > > > >
> > > > > (1)
> > > > >
> > > > > > Set no longer applies. Please rebase, thanks.
> > > > >
> > > > > I got a contradictory messages:
> > > > > 1) email that says that all had been applied;
> > > > > 2) this email (that tells the complete opposite);
> > > > > 3) the repository where the first two were applied.
> > > > >
> > > > > While you can amend your scripts, I think I need to rebase only the last patch
> > > >
> > > > This is what I assume happened:
> > > >
> > > > 1. Attempted to apply the set (as a set)
> > > > 2. 2 commits applied cleanly
> > > > 3. The final commit conflicted
> > >
> > > Which is really strange. I have just applied (with b4) on top of your changes
> > > and no complains so far.
> > >
> > > $ git am ./v2_20240201_andriy_shevchenko_backlight_mp3309c_allow_to_use_on_non_of_platforms.mbx
> > > Applying: backlight: mp3309c: Make use of device properties
> > > Applying: backlight: mp3309c: use dev_err_probe() instead of dev_err()
> > > Applying: backlight: mp3309c: Utilise temporary variable for struct device
> > >
> > > Can you show what b4 tells you about this?
> >
> > Fetching patch(es)
> > Analyzing 14 messages in the thread
> > Checking attestation on all messages, may take a moment...
> > ---
> > ✓ [PATCH v2 1/3] backlight: mp3309c: Make use of device properties
> > + Reviewed-by: Daniel Thompson <[email protected]> (✓ DKIM/linaro.org)
> > + Link: https://lore.kernel.org/r/[email protected]
> > + Signed-off-by: Lee Jones <[email protected]>
> > ✓ [PATCH v2 2/3] backlight: mp3309c: use dev_err_probe() instead of dev_err()
> > + Tested-by: Flavio Suligoi <[email protected]> (✗ DKIM/asem.it)
> > + Reviewed-by: Daniel Thompson <[email protected]> (✓ DKIM/linaro.org)
> > + Link: https://lore.kernel.org/r/[email protected]
> > + Signed-off-by: Lee Jones <[email protected]>
> > ✓ [PATCH v2 3/3] backlight: mp3309c: Utilise temporary variable for struct device
> > + Link: https://lore.kernel.org/r/[email protected]
> > + Signed-off-by: Lee Jones <[email protected]>
> > ---
> > ✓ Signed: DKIM/intel.com (From: [email protected])
> > ---
> > Total patches: 3
> > Prepared a fake commit range for 3-way merge (672ecc5199b5..d507b9f4c5b9)
> > ---
> > Link: https://lore.kernel.org/r/[email protected]
> > Base: not specified
> >
> > Running through checkpatch.pl
> > total: 0 errors, 0 warnings, 103 lines checked
> >
> > "[PATCH v2 1/3] backlight: mp3309c: Make use of device properties" has no obvious style problems and is ready for submission.
> > total: 0 errors, 0 warnings, 41 lines checked
> >
> > "[PATCH v2 2/3] backlight: mp3309c: use dev_err_probe() instead of" has no obvious style problems and is ready for submission.
> > total: 0 errors, 0 warnings, 81 lines checked
> >
> > "[PATCH v2 3/3] backlight: mp3309c: Utilise temporary variable for" has no obvious style problems and is ready for submission.
> >
> > Check the results (hit return to continue or Ctrl+c to exit)
> >
> >
> > Applying patch(es)
> > Applying: backlight: mp3309c: Make use of device properties
> > Applying: backlight: mp3309c: use dev_err_probe() instead of dev_err()
> > Applying: backlight: mp3309c: Utilise temporary variable for struct device
> > Using index info to reconstruct a base tree...
> > M drivers/video/backlight/mp3309c.c
> > Checking patch drivers/video/backlight/mp3309c.c...
> > Applied patch drivers/video/backlight/mp3309c.c cleanly.
> > Falling back to patching base and 3-way merge...
> > error: Your local changes to the following files would be overwritten by merge:
> > drivers/video/backlight/mp3309c.c
> > Please commit your changes or stash them before you merge.
> > Aborting
> > error: Failed to merge in the changes.
> > Patch failed at 0003 backlight: mp3309c: Utilise temporary variable for struct device
> > hint: Use 'git am --show-current-patch=diff' to see the failed patch
> > When you have resolved this problem, run "git am --continue".
> > If you prefer to skip this patch, run "git am --skip" instead.
> > To restore the original branch and stop patching, run "git am --abort".
>
> Thank you!
>
> It seems I have reduced context, so if you do `git am -C2 ...` it should apply.
> Never mind, I'll send a new version which should work with -C3.

I just use the default matching context lines.

Do you have a special config that reduces you context in patches?

--
Lee Jones [李琼斯]

2024-02-09 15:11:10

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] backlight: mp3309c: Allow to use on non-OF platforms

On Fri, Feb 09, 2024 at 07:50:52AM +0000, Lee Jones wrote:
> On Thu, 08 Feb 2024, Andy Shevchenko wrote:
> > On Thu, Feb 08, 2024 at 06:14:55PM +0000, Lee Jones wrote:
> > > On Thu, 08 Feb 2024, Andy Shevchenko wrote:
> > > > On Thu, Feb 08, 2024 at 05:39:46PM +0000, Lee Jones wrote:
> > > > > On Thu, 08 Feb 2024, Andy Shevchenko wrote:
> > > > > > On Thu, Feb 08, 2024 at 11:34:25AM +0000, Lee Jones wrote:
> > > > > > > On Thu, 01 Feb 2024, Andy Shevchenko wrote:

..

> > > > > > > > backlight: mp3309c: Utilise temporary variable for struct device
> > > > > >
> > > > > > (1)
> > > > > >
> > > > > > > Set no longer applies. Please rebase, thanks.
> > > > > >
> > > > > > I got a contradictory messages:
> > > > > > 1) email that says that all had been applied;
> > > > > > 2) this email (that tells the complete opposite);
> > > > > > 3) the repository where the first two were applied.
> > > > > >
> > > > > > While you can amend your scripts, I think I need to rebase only the last patch
> > > > >
> > > > > This is what I assume happened:
> > > > >
> > > > > 1. Attempted to apply the set (as a set)
> > > > > 2. 2 commits applied cleanly
> > > > > 3. The final commit conflicted
> > > >
> > > > Which is really strange. I have just applied (with b4) on top of your changes
> > > > and no complains so far.
> > > >
> > > > $ git am ./v2_20240201_andriy_shevchenko_backlight_mp3309c_allow_to_use_on_non_of_platforms.mbx
> > > > Applying: backlight: mp3309c: Make use of device properties
> > > > Applying: backlight: mp3309c: use dev_err_probe() instead of dev_err()
> > > > Applying: backlight: mp3309c: Utilise temporary variable for struct device
> > > >
> > > > Can you show what b4 tells you about this?
> > >
> > > Fetching patch(es)
> > > Analyzing 14 messages in the thread
> > > Checking attestation on all messages, may take a moment...
> > > ---
> > > ✓ [PATCH v2 1/3] backlight: mp3309c: Make use of device properties
> > > + Reviewed-by: Daniel Thompson <[email protected]> (✓ DKIM/linaro.org)
> > > + Link: https://lore.kernel.org/r/[email protected]
> > > + Signed-off-by: Lee Jones <[email protected]>
> > > ✓ [PATCH v2 2/3] backlight: mp3309c: use dev_err_probe() instead of dev_err()
> > > + Tested-by: Flavio Suligoi <[email protected]> (✗ DKIM/asem.it)
> > > + Reviewed-by: Daniel Thompson <[email protected]> (✓ DKIM/linaro.org)
> > > + Link: https://lore.kernel.org/r/[email protected]
> > > + Signed-off-by: Lee Jones <[email protected]>
> > > ✓ [PATCH v2 3/3] backlight: mp3309c: Utilise temporary variable for struct device
> > > + Link: https://lore.kernel.org/r/[email protected]
> > > + Signed-off-by: Lee Jones <[email protected]>
> > > ---
> > > ✓ Signed: DKIM/intel.com (From: [email protected])
> > > ---
> > > Total patches: 3
> > > Prepared a fake commit range for 3-way merge (672ecc5199b5..d507b9f4c5b9)
> > > ---
> > > Link: https://lore.kernel.org/r/[email protected]
> > > Base: not specified
> > >
> > > Running through checkpatch.pl
> > > total: 0 errors, 0 warnings, 103 lines checked
> > >
> > > "[PATCH v2 1/3] backlight: mp3309c: Make use of device properties" has no obvious style problems and is ready for submission.
> > > total: 0 errors, 0 warnings, 41 lines checked
> > >
> > > "[PATCH v2 2/3] backlight: mp3309c: use dev_err_probe() instead of" has no obvious style problems and is ready for submission.
> > > total: 0 errors, 0 warnings, 81 lines checked
> > >
> > > "[PATCH v2 3/3] backlight: mp3309c: Utilise temporary variable for" has no obvious style problems and is ready for submission.
> > >
> > > Check the results (hit return to continue or Ctrl+c to exit)
> > >
> > >
> > > Applying patch(es)
> > > Applying: backlight: mp3309c: Make use of device properties
> > > Applying: backlight: mp3309c: use dev_err_probe() instead of dev_err()
> > > Applying: backlight: mp3309c: Utilise temporary variable for struct device
> > > Using index info to reconstruct a base tree...
> > > M drivers/video/backlight/mp3309c.c
> > > Checking patch drivers/video/backlight/mp3309c.c...
> > > Applied patch drivers/video/backlight/mp3309c.c cleanly.
> > > Falling back to patching base and 3-way merge...
> > > error: Your local changes to the following files would be overwritten by merge:
> > > drivers/video/backlight/mp3309c.c
> > > Please commit your changes or stash them before you merge.
> > > Aborting
> > > error: Failed to merge in the changes.
> > > Patch failed at 0003 backlight: mp3309c: Utilise temporary variable for struct device
> > > hint: Use 'git am --show-current-patch=diff' to see the failed patch
> > > When you have resolved this problem, run "git am --continue".
> > > If you prefer to skip this patch, run "git am --skip" instead.
> > > To restore the original branch and stop patching, run "git am --abort".
> >
> > Thank you!
> >
> > It seems I have reduced context, so if you do `git am -C2 ...` it should apply.
> > Never mind, I'll send a new version which should work with -C3.
>
> I just use the default matching context lines.
>
> Do you have a special config that reduces you context in patches?

No special config, but can be done via aliasing (through function)
E.g.,
git() {
if [ "$1" = 'am' ]; then
shift
/usr/bin/git am -C1 "$@"
else
/usr/bin/git "$@"
fi
}

--
With Best Regards,
Andy Shevchenko



2024-02-23 13:59:18

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH v2 0/3] backlight: mp3309c: Allow to use on non-OF platforms

On Thu, 01 Feb 2024 17:14:12 +0200, Andy Shevchenko wrote:
> Allow to use driver on non-OF platforms and other cleanups.
>
> Changelog v2:
> - rename pm3309c_parse_dt_node() --> mp3309c_parse_fwnode() (Daniel)
> - add tags (Daniel, Flavio)
> - new patch 2
>
> [...]

Applied, thanks!

[1/3] backlight: mp3309c: Make use of device properties
commit: b6fc7e62a7afc3709b31f6779665c7fc4a7755d7
[2/3] backlight: mp3309c: use dev_err_probe() instead of dev_err()
(no commit info)
[3/3] backlight: mp3309c: Utilise temporary variable for struct device
(no commit info)

--
Lee Jones [李琼斯]