On Mon, May 20, 2013 at 01:11:21PM +0100, Jon Medhurst (Tixy) wrote:
> On Thu, 2013-05-09 at 11:34 +0100, Lorenzo Pieralisi wrote:
> [...]
> > +static int __init cci_probe(void)
> > +{
> > +   struct cci_nb_ports const *cci_config;
> > +   int ret, i, nb_ace = 0, nb_ace_lite = 0;
> > +   struct device_node *np, *cp;
> > +   const char *match_str;
> > +   bool is_ace;
> > +
> > +   np = of_find_matching_node(NULL, arm_cci_matches);
> > +   if (!np)
> > +           return -ENODEV;
> > +
> > +   cci_config = of_match_node(arm_cci_matches, np)->data;
> > +   if (!cci_config)
> > +           return -ENODEV;
> > +
> > +   nb_cci_ports = cci_config->nb_ace + cci_config->nb_ace_lite;
> > +
> > +   ports = kcalloc(sizeof(*ports), nb_cci_ports, GFP_KERNEL);
> > +   if (!ports)
> > +           return -ENOMEM;
> > +
> > +   cci_ctrl_base = of_iomap(np, 0);
> > +
> > +   if (!cci_ctrl_base) {
> > +           WARN(1, "unable to ioremap CCI ctrl\n");
> > +           ret = -ENXIO;
> > +           goto memalloc_err;
> > +   }
> > +
> > +   for_each_child_of_node(np, cp) {
> > +           i = nb_ace + nb_ace_lite;
> > +
> > +           if (i >= nb_cci_ports)
> > +                   break;
> 
> I know this is a bit late, but...
> 
> Would it not be best to check here that the node type is in fact
> "slave-if", that way if we add support in later versions for other node
> types (e.g. for the PMU) then we don't cause backward compatibility
> issues. I'm thinking here of the same concerns that Rob raised with
> "ARM: kernel: fix arm_dt_init_cpu_maps() to skip non-cpu nodes"

The node name, not type, but point is taken. I prefer to add a
compatible property to slave-if nodes (eg "arm,cci-400-control-if"),
I do not think that checking the node name is the standard way of doing
things in DT world.

Thoughts ?

Thanks,
Lorenzo

> > +           if (of_property_read_string(cp, "interface-type",
> > +                                   &match_str)) {
> > +                   WARN(1, "node %s missing interface-type property\n",
> > +                             cp->full_name);
> > +                   continue;
> > +           }
> > +
> [..]
> 
> -- 
> Tixy
> 
> 

_______________________________________________
devicetree-discuss mailing list
devicetree-discuss@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/devicetree-discuss

Reply via email to