Hi Javier & Mark, I am educated. Thank you all. > -----Original Message----- > From: Javier Martinez Canillas [mailto:javier@xxxxxxxxxxxx] > Sent: 2016年1月29日 19:50 > To: Mark Brown <broonie@xxxxxxxxxx> > Cc: Yang, Wenyou <Wenyou.Yang@xxxxxxxxx>; Liam Girdwood > <lgirdwood@xxxxxxxxx>; Rob Herring <robh+dt@xxxxxxxxxx>; Pawel Moll > <pawel.moll@xxxxxxx>; Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx>; Kumar > Gala <galak@xxxxxxxxxxxxxx>; Krzysztof Kozlowski > <k.kozlowski@xxxxxxxxxxx>; Lee Jones <lee.jones@xxxxxxxxxx>; Peter > Korsgaard <jacmet@xxxxxxxxx>; Ferre, Nicolas <Nicolas.FERRE@xxxxxxxxx>; > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > devicetree@xxxxxxxxxxxxxxx > Subject: Re: [PATCH v4 1/2] regulator: act8945a: add regulator driver for > ACT8945A > > Hello Mark, > > On Fri, Jan 29, 2016 at 8:35 AM, Mark Brown <broonie@xxxxxxxxxx> wrote: > > On Fri, Jan 29, 2016 at 01:20:08AM +0000, Yang, Wenyou wrote: > > > >> > > +static const struct of_device_id act8945a_pmic_of_match[] = { { > >> > > +.compatible = "active-semi,act8945a-regulator" }, { }, }; > >> > > +MODULE_DEVICE_TABLE(of, act8945a_pmic_of_match); > > > >> > This seems mostly OK but why do we have a compatible string here - > >> > shouldn't the MFD be able to instantiate the regulator function without > needing this? > > > >> Because I got feedback from Javier for the act8945a-charger patches > >> of this MFD series, He said missing the OF match table will cause the module > autoloading broken. > > > >> http://lists.infradead.org/pipermail/linux-arm-kernel/2016-January/39 > >> 8113.html > > > >> What do you think about it? > > > > If then device is not being loaded from the DT (and it shouldn't be, > > the device looks like it should be instantiated directly by the MFD as > > it can't exist separately to that MFD) an OF table will do nothing. > > Then he should remove the .of_compatible from the MFD cell definition. I tried it, But if removed this .of_compatible, and reserved the OF table. the &pdev->dev->of_node is NULL, the driver fails to get the configuration value from DT, It seems the OF table still doesn't work. Where is wrong? Could you help give some suggestion? > > Otherwise the MFD core will assign an of_node to this device in mfd_add_device(), > making the platform core to believe the device was instantiated by OF. So an OF > modalias uevent will be reported to load the module and the OF table should be > used for matching the device with the driver. > > IOW, the MFD and regulator driver have to agree on this. Either everything should > have OF or platform information, both work but mixing these as it was on a > previous version doesn't. > > Best regards, > Javier Best Regards, Wenyou Yang ��.n��������+%������w��{.n����z�{��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f