On 20 January 2015 10:46 Lee Jones wrote:
[...]
> > static const struct regmap_range da9063_ad_readable_ranges[] = {
> > {
> > .range_min = DA9063_REG_PAGE_CON,
> > @@ -203,6 +206,13 @@ static struct regmap_config da9063_regmap_config
> = {
> > .cache_type = REGCACHE_RBTREE,
> > };
> >
> > +static const struct of_device_id da9063_dt_ids[] = {
> > + { .compatible = "dlg,da9063-ad", },
> > + { .compatible = "dlg,da9063-bb", },
> > + { .compatible = "dlg,da9063-ca", },
>
> I'm still a bit bemused as to why these require their own compatible
> strings? They are never matched (of_match_device()) on and it appears
> they can be dynamically told apart by poking.
>
Yes: like you said. Why bother with a 2-letter variant code in the DT if the
driver's behaviour is automatic?
It was a design style decision on my side. I was being explicit in my
definitions
and I added the 2-letter code to handle (potential) differences in the way
platform data can be handled in the driver. There is nothing right now, I was
just
considering the future and the ABI.
However, I've talked myself round this argument several times -- I guess the
explicit compatibility letters in the devices tree are jarring against the
automatic
detection inside the driver.
I will remove the 2-letter extensions from the next submission.
Regards,
Steve
N�����r��y����b�X��ǧv�^�){.n�+���z��z��z)����w*jg��������ݢj/���z�ޖ��2�ޙ����&�)ߡ�a�����G���h��j:+v���w��٥