Hi Andrew,

On Thu, Aug 24, 2017 at 03:45:04PM +0200, Andrew Lunn wrote:
> > +   for_each_available_child_of_node(pdev->dev.of_node, child) {
> > +           struct mvebu_comphy_lane *lane;
> > +           struct phy *phy;
> > +           int ret;
> > +           u32 val;
> > +
> > +           ret = of_property_read_u32(child, "reg", &val);
> > +           if (ret < 0) {
> > +                   dev_err(&pdev->dev, "missing 'reg' property (%d)\n",
> > +                           ret);
> > +                   continue;
> > +           }
> 
> I'm just wondering why we need this. We know how many lanes there are
> from the table. So just create a generic PHY for each lane?

At first I did this statically. I moved to this solution because:
1. It represents the h/w correctly (there are 6 lanes duplicated here).
2. It eases the dt representation, we would have something like:
   <&cpm_comphy 0 1>; otherwise.
3. If the number of lanes changes in future revisions it'll be quite
   easy to handle.

Thanks!
Antoine

-- 
Antoine Ténart, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

Attachment: signature.asc
Description: PGP signature

Reply via email to