Subject: Re: [PATCH 1/2] ne: DeviceTree support.

From: Yoshinori Sato <[email-masked]>
Date: Mon, 18 Jan 2016 16:09:40 +0900

On Sun, 17 Jan 2016 02:22:26 +0900,
Andrew Lunn wrote:
> 
> On Sat, Jan 16, 2016 at 01:19:45AM +0900, Yoshinori Sato wrote:
> > Add basic device tree support.
> > 
> > Signed-off-by: Yoshinori Sato <[email-masked]>
> > ---
> >  Documentation/devicetree/bindings/net/ne2000.txt | 17 +++++++++++++++++
> >  drivers/net/ethernet/8390/ne.c                   | 20 +++++++++++++++++++-
> >  2 files changed, 36 insertions(+), 1 deletion(-)
> >  create mode 100644 Documentation/devicetree/bindings/net/ne2000.txt
> > 
> > diff --git a/Documentation/devicetree/bindings/net/ne2000.txt b/Documentation/devicetree/bindings/net/ne2000.txt
> > new file mode 100644
> > index 0000000..8b0dfbf
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/ne2000.txt
> > @@ -0,0 +1,17 @@
> > +NE2000 compatible network controller
> > +
> > +Required properties:
> > +- compatible: "national,ne2000"
> > +- reg: base address and length of NE2000.
> > +- interrupts: interrupt specifier for the sole interrupt.
> > +- national,dcr: DCR setting value.
> 
> You say here that national,dcr is required, yet the code to read it is
> not returning an error if it is missing.

Yes. This value required. Missing error check.

> Also, what is DCR?

This is chip configuration.
It value depend on target design.

> 
> > +
> > +Example
> > +
> > +	ne2000: ethernet@200000 {
> > +		compatible = "national,ne2000";
> > +		reg = <0x200000 32>;
> > +		interrupts = <17 0>;
> > +		national,dcr = <0x48>;
> > +	};
> > +
> > diff --git a/drivers/net/ethernet/8390/ne.c b/drivers/net/ethernet/8390/ne.c
> > index c063b41..a9dde5b 100644
> > --- a/drivers/net/ethernet/8390/ne.c
> > +++ b/drivers/net/ethernet/8390/ne.c
> > @@ -52,6 +52,7 @@ static const char version2[] =
> >  #include <linux/etherdevice.h>
> >  #include <linux/jiffies.h>
> >  #include <linux/platform_device.h>
> > +#include <linux/of.h>
> >  
> >  #include <asm/io.h>
> >  
> > @@ -72,6 +73,7 @@ static int io[MAX_NE_CARDS];
> >  static int irq[MAX_NE_CARDS];
> >  static int bad[MAX_NE_CARDS];
> >  static u32 ne_msg_enable;
> > +static unsigned int of_dcr_val;
> 
> So there is a single DCR value, for all instances of the device?
> The last device to probe wins?

Yes. It'll be usually the same value by all devices.

>   Andrew

-- 
Yoshinori Sato
<[email-masked]>