Hi,

On 05/19/2013 01:16 PM, Tomasz Figa wrote:
+++ b/Documentation/devicetree/bindings/net/davicom-dm9000.txt
@@ -0,0 +1,26 @@
+Davicom DM9000 Fast Ethernet controller
+
+Required properties:
+- compatible = "davicom,dm9000";
+- reg : physical addresses and sizes of registers, must contain 2 entries:
+    first entry : address register,
+    second entry : address register.

Two address registers ? Shouldn't one of these be "data register" ?

+Example:
+
+       ethernet@18000000 {
+               compatible = "davicom,dm9000";
+               reg =<0x18000000 0x2 0x18000004 0x2>;
+               interrupt-parent =<&gpn>;
+               interrupts =<7 4>;
+               local-mac-address = [00 00 de ad be ef];
+               davicom,no-eeprom;
+       };

+static struct dm9000_plat_data *dm9000_parse_dt(struct device *dev)
+{
+       struct dm9000_plat_data *pdata;
+       struct device_node *np = dev->of_node;
+       const void *mac_addr;
+
+       if (!IS_ENABLED(CONFIG_OF) || !np)
+               return NULL;

Shouldn't ERR_PTR() value be returned here ?

+       pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL);
+       if (!pdata) {
+               dev_err(dev, "failed to allocate platform data struct\n");

There is no need for this error log, k*alloc already logs any failures.

@@ -1373,6 +1402,12 @@ dm9000_probe(struct platform_device *pdev)
        int i;
        u32 id_val;

+       if (!pdata) {
+               pdata = dm9000_parse_dt(&pdev->dev);
+               if (IS_ERR(pdata))
+                       return PTR_ERR(pdata);
+       }

Thanks,

Sylwester
_______________________________________________
devicetree-discuss mailing list
[email protected]
https://lists.ozlabs.org/listinfo/devicetree-discuss

Reply via email to