[U-Boot] [PATCH v2 12/14] net: gem: Move driver to DM

Michal Simek michal.simek at xilinx.com
Wed Dec 2 14:51:04 CET 2015


On 2.12.2015 14:16, Bin Meng wrote:
> Hi Michal,
> 
> On Wed, Dec 2, 2015 at 7:36 PM, Michal Simek <michal.simek at xilinx.com> wrote:

...

>> +
>> +       offset = fdtdec_lookup_phandle(gd->fdt_blob, dev->of_offset,
>> +                                      "phy-handle");
>> +       if (offset > 0)
>> +               priv->phyaddr = fdtdec_get_int(gd->fdt_blob, offset, "reg", 0);
> 
> I don't see where is this priv->phyaddr used in this driver?

phy_detection function called from zynq_phy_init/

> 
>>
>> -       return 1;
>> +       printf("ZYNQ GEM: %lx, phyaddr %d\n", (ulong)priv->iobase,
>> +              priv->phyaddr);
>> +
>> +       return 0;
>>  }
>> +
>> +static const struct udevice_id zynq_gem_ids[] = {
>> +       { .compatible = "cdns,zynqmp-gem" },
>> +       { .compatible = "cdns,zynq-gem" },
>> +       { .compatible = "cdns,gem" },
>> +       { }
>> +};
>> +
>> +U_BOOT_DRIVER(zynq_gem) = {
>> +       .name   = "zynq_gem",
>> +       .id     = UCLASS_ETH,
>> +       .of_match = zynq_gem_ids,
>> +       .ofdata_to_platdata = zynq_gem_ofdata_to_platdata,
>> +       .probe  = zynq_gem_probe,
> 
> Please add .remove function, otherwise there will be memory leak when
> removing the device. See designware.c for example.

No problem to do it. It will be almost c&p from that driver.
Do we have any way how to detect these leaks?

I have never tried to remove devices. How to do it?

Thanks,
Michal




More information about the U-Boot mailing list