RE: [PATCH v3 3/5] drivers: regulator: Add ADI MAX77541/MAX77540 Regulator Support
From: Sahin, Okan <hidden>
Date: 2023-01-31 09:28:28
Also in:
linux-iio, lkml
Hi Andy,
Sorry for second question. I do not want to bother you, but I realized that I need to be sure about driver_data before sending new patch. You said that you need to use pointers directly for driver_data then I fixed that part in mfd, but I do not need or use driver_data in regulator since chip_id comes from mfd device so I think using like below should be enough for my implementation.
static const struct platform_device_id max77541_regulator_platform_id[] = {
{ "max77540-regulator", },
{ "max77541-regulator", },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(platform, max77541_regulator_platform_id);
static const struct of_device_id max77541_regulator_of_id[] = {
{ .compatible = "adi,max77540-regulator", },
{ .compatible = "adi,max77541-regulator", },
{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, max77541_regulator_of_id);
What do you think?
On Tue, Jan 31, 2023 at 10:21 AM +0300, Okan Sahin wrote:
Hi Andy, Thank you for your feedback and efforts. I have a question below. On Wed, 18 Jan 2022 11:20 AM Andy Shevchenko [off-list ref] wrote:quoted
On Wed, Jan 18, 2023 at 09:38:10AM +0300, Okan Sahin wrote:quoted
Regulator driver for both MAX77541 and MAX77540. The MAX77541 is a high-efficiency step-down converter with two 3A switching phases for single-cell Li+ battery and 5VDC systems. The MAX77540 is a high-efficiency step-down converter with two 3A switching phases....quoted
+ * Copyright (c) 2022 Analog Devices, Inc.Happy New Year! ...quoted
+static int max77541_regulator_probe(struct platform_device *pdev) { + struct max77541 *max77541 = dev_get_drvdata(pdev->dev.parent); + struct regulator_config config = {}; + const struct regulator_desc *desc; + struct device *dev = &pdev->dev;You may rearrange this a bit struct max77541 *max77541 = dev_get_drvdata(dev->parent);quoted
+ struct regulator_dev *rdev; + int i;quoted
+ config.dev = pdev->dev.parent;dev->parentquoted
+ + if (max77541->id == MAX77540) + desc = max77540_regulators_desc; + else if (max77541->id == MAX77541) + desc = max77541_regulators_desc; + else + return -EINVAL; + + for (i = 0; i < MAX77541_MAX_REGULATORS; i++) {quoted
+ rdev = devm_regulator_register(dev, + &desc[i], &config);This is perfectly one line.Thank you, I will arrange it.quoted
quoted
+ if (IS_ERR(rdev)) + return dev_err_probe(dev, PTR_ERR(rdev), + "Failed to register regulator\n"); + } + + return 0; +}...However, this one is not fit when I set max-line-length argument as 80 in checkpatch script. What do you suggest? This line has 99 characters.quoted
quoted
+static const struct of_device_id max77541_regulator_of_id[] = { + { + .compatible = "adi,max77540-regulator", + .data = (void *)MAX77540, + }, + { + .compatible = "adi,max77541-regulator", + .data = (void *)MAX77541, + }, + { /* sentinel */ }As pointed out, better to use pointers directly.quoted
+};-- With Best Regards, Andy ShevchenkoRegards, Okan Sahin
Regards, Okan