lkml.org 
[lkml]   [2023]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH v3 3/5] drivers: regulator: Add ADI MAX77541/MAX77540 Regulator Support
Date

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 <andriy.shevchenko@linux.intel.com> wrote:
>
>>On Wed, Jan 18, 2023 at 09:38:10AM +0300, Okan Sahin wrote:
>>> 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.
>>
>>...
>>
>>> + * Copyright (c) 2022 Analog Devices, Inc.
>>
>>Happy New Year!
>>
>>...
>>
>>> +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);
>>
>>> + struct regulator_dev *rdev;
>>> + int i;
>>
>>> + config.dev = pdev->dev.parent;
>>
>>dev->parent
>>
>>> +
>>> + 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++) {
>>
>>> + rdev = devm_regulator_register(dev,
>>> + &desc[i], &config);
>>
>>This is perfectly one line.
>Thank you, I will arrange it.
>>
>>> + 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.
>>
>>> +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.
>>
>>> +};
>>
>>--
>>With Best Regards,
>>Andy Shevchenko
>>
>
>Regards,
>Okan Sahin

Regards,
Okan

\
 
 \ /
  Last update: 2023-03-27 00:03    [W:0.430 / U:0.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site