Hi Lee, Lee Jones <lee.jones@xxxxxxxxxx> 於 2022年7月13日 週三 下午4:04寫道: > > On Wed, 13 Jul 2022, ChiaEn Wu wrote: > > > Hi Lee, > > > > Thanks for your reply. > > > > Lee Jones <lee.jones@xxxxxxxxxx> 於 2022年7月12日 週二 晚上11:29寫道: > > > > > > On Thu, 23 Jun 2022, ChiaEn Wu wrote: > > > > > > > From: ChiYuan Huang <cy_huang@xxxxxxxxxxx> > > > > > > > > Add Mediatek MT6370 MFD support. > > > > > > No such thing as "MFD support". > > > > > > And you're not getting away with submitting a 370 line patch with a 5 > > > word change log either. :) > > > > > > Please at least tell us what the device is and what it's used for. > > > > I sincerely apologize. > > We will add more descriptions of the MT6370 feature in the v5 patch. > > > > > > > > > Signed-off-by: ChiYuan Huang <cy_huang@xxxxxxxxxxx> > > > > --- > > > > > > > > v3 > > > > - Refine Kconfig help text > > > > - Refine error message of unknown vendor ID in > > > > mt6370_check_vendor_info() > > > > - Refine return value handling of mt6370_regmap_read() > > > > - Refine all probe error by using dev_err_probe() > > > > - Refine "bank_idx" and "bank_addr" in mt6370_regmap_read() and > > > > mt6370_regmap_write() > > > > - Add "#define VENID*" and drop the comments in > > > > mt6370_check_vendor_info() > > > > - Drop "MFD" in MODULE_DESCRIPTION() > > > > --- > > > > drivers/mfd/Kconfig | 13 ++ > > > > drivers/mfd/Makefile | 1 + > > > > drivers/mfd/mt6370.c | 358 +++++++++++++++++++++++++++++++++++++++++++++++++++ > > > > 3 files changed, 372 insertions(+) > > > > create mode 100644 drivers/mfd/mt6370.c > > [...] > > > > > +static const struct mfd_cell mt6370_devices[] = { > > > > + MFD_CELL_OF("adc", NULL, NULL, 0, 0, "mediatek,mt6370-adc"), > > > > + MFD_CELL_OF("charger", NULL, NULL, 0, 0, "mediatek,mt6370-charger"), > > > > + MFD_CELL_OF("backlight", NULL, NULL, 0, 0, "mediatek,mt6370-backlight"), > > > > + MFD_CELL_OF("flashlight", NULL, NULL, 0, 0, "mediatek,mt6370-flashlight"), > > > > + MFD_CELL_OF("indicator", NULL, NULL, 0, 0, "mediatek,mt6370-indicator"), > > > > + MFD_CELL_OF("tcpc", NULL, NULL, 0, 0, "mediatek,mt6370-tcpc"), > > > > + MFD_CELL_RES("regulator", mt6370_regulator_irqs) > > > > > > The first parameters here should be prepended with something, perhaps > > > "mt6370_"? > > > OK, we will add the prefix in the next patch. Sorry, I forgot to ask a question in the last mail. I wonder if using "mt6370-xxx" (dash) is better than using "mt6370_" (underline) ?? Thanks. > [...] > > > > > +static int mt6370_probe(struct i2c_client *i2c) > > > > +{ > > > > + struct mt6370_info *info; > > > > + struct i2c_client *usbc_i2c; > > > > + int ret; > > > > + > > > > + info = devm_kzalloc(&i2c->dev, sizeof(*info), GFP_KERNEL); > > > > + if (!info) > > > > + return -ENOMEM; > > > > + > > > > + info->dev = &i2c->dev; > > > > + > > > > + usbc_i2c = devm_i2c_new_dummy_device(&i2c->dev, i2c->adapter, > > > > + MT6370_USBC_I2CADDR); > > > > + if (IS_ERR(usbc_i2c)) > > > > + return dev_err_probe(&i2c->dev, PTR_ERR(usbc_i2c), > > > > + "Failed to register USBC I2C client\n"); > > > > + > > > > + /* Assign I2C client for PMU and TypeC */ > > > > + info->i2c[MT6370_PMU_I2C] = i2c; > > > > + info->i2c[MT6370_USBC_I2C] = usbc_i2c; > > > > + > > > > + info->regmap = devm_regmap_init(&i2c->dev, &mt6370_regmap_bus, info, > > > > + &mt6370_regmap_config); > > > > > > Apart from in mt6370_check_vendor_info() where is this actually used? > > > > Well... from my understanding, we use this MFD driver to make other > > drivers of MT6370 (e.g. charger, ADC, led...) use the same regmap > > settings. > > Thus, this regmap is not only used in mt6370_check_vendor_info(). > > Well for that to happen you need to store the data somewhere for the > child devices to fetch from. I don't see that happening in this > patch? What did I miss? hmmm... I got your point... I will let regmap be a local var in probe() in the next patch. Thank you so much! > > -- > Lee Jones [李琼斯] > Principal Technical Lead - Developer Services > Linaro.org │ Open source software for Arm SoCs > Follow Linaro: Facebook | Twitter | Blog Best regards, ChiaEn Wu