Re: [PATCH v5 5/5] mfd: max77541: Add ADI MAX77541/MAX77540 PMIC Support
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: 2023-02-21 12:17:49
Also in:
linux-iio, lkml
On Tue, Feb 21, 2023 at 01:39:13PM +0300, Okan Sahin wrote:
MFD driver for MAX77541/MAX77540 to enable its sub devices. The MAX77541 is a multi-function devices. It includes buck converter and ADC. The MAX77540 is a high-efficiency buck converter with two 3A switching phases. They have same regmap except for ADC part of MAX77541.
Extra space in the Subject. ...
+#include <linux/of_device.h>
Why? ...
+static const struct regmap_config max77541_regmap_config = {
+ .reg_bits = 8,
+ .val_bits = 8,Do you need lock of regmap?
+};
...
+static const struct mfd_cell max77540_devs[] = {+ MFD_CELL_OF("max77540-regulator", NULL, NULL, 0, 0,
+ NULL),Perfectly one line.
+};
+static const struct mfd_cell max77541_devs[] = {
+ MFD_CELL_OF("max77541-regulator", NULL, NULL, 0, 0,
+ NULL),
+ MFD_CELL_OF("max77541-adc", NULL, NULL, 0, 0,
+ NULL),Ditto.
+};
...
+ if (max77541->chip->id == MAX77541) {
+ ret = devm_regmap_add_irq_chip(dev, max77541->regmap, irq,
+ IRQF_ONESHOT | IRQF_SHARED, 0,
+ &max77541_adc_irq_chip,
+ &max77541->irq_adc);
+ if (ret)
+ return ret;
+ }+ return ret;
return 0; ...
+static const struct i2c_device_id max77541_i2c_id[];
What for? ...
+ if (dev->of_node) + max77541->chip = of_device_get_match_data(dev); + else + max77541->chip = (struct chip_info *) + i2c_match_id(max77541_i2c_id, + client)->driver_data;
Oh. Please use const struct i2c_device_id *id = i2c_client_get_device_id(client); ... max77541->chip = device_get_match_data(dev); // needs property.h if (!max77541->chip) max77541->chip = (struct chip_info *)id->driver_data;
+ if (!max77541->chip) + return -EINVAL;
...
+#ifndef __MAX77541_MFD_H__ +#define __MAX77541_MFD_H__
Can we go towards consistency in this? Seems to me the most used patter so far is #ifndef __LINUX_MFD_MAX77541_H -- With Best Regards, Andy Shevchenko