[PATCH v3] net/smsc911x: add device tree probe support
From: Dave Martin <hidden>
Date: 2011-09-09 08:50:30
Also in:
linux-devicetree, netdev
On Thu, Sep 08, 2011 at 11:29:20AM -0700, Grant Likely wrote:
On Thu, Sep 08, 2011 at 03:59:46PM +0100, Dave Martin wrote:quoted
Hi Shawn, On Sun, Jul 31, 2011 at 02:26:00AM +0800, Shawn Guo wrote:quoted
It adds device tree probe support for smsc911x driver. Signed-off-by: Shawn Guo <redacted> Cc: Grant Likely <redacted> Cc: Steve Glendinning <redacted> Cc: David S. Miller <davem@davemloft.net> Reviewed-by: Grant Likely <redacted> --- Changes since v2: * Fix a typo in smsc911x.txt Changes since v1: * Instead of getting irq line from gpio number, it use irq domain to keep platform_get_resource(IORESOURCE_IRQ) works for dt too. * Use 'lan9115' the first model that smsc911x supports in the match table * Use reg-shift and reg-io-width which already used in of_serial for shift and access size bindingWhen using this patch with vexpress, I found that 16-bit register access mode doesn't seem to be getting set correctly. Can you take a look at this additional patch and let me know if it looks correct? Cheers ---Dave From: Dave Martin <redacted> Date: Wed, 7 Sep 2011 17:26:31 +0100 Subject: [PATCH] net/smsc911x: Correctly configure 16-bit register access from DT The SMSC911X_USE_16BIT needs to be set when using 16-bit register access. However, currently no flag is set if the DT doesn't specify 32-bit access. This patch should set the SMSC911X_USE_16BIT flag in a manner consistent with the documented DT bindings. Signed-off-by: Dave Martin <redacted> --- drivers/net/smsc911x.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c index 75c08a5..1a35c25 100644 --- a/drivers/net/smsc911x.c +++ b/drivers/net/smsc911x.c@@ -2121,6 +2121,8 @@ static int __devinit smsc911x_probe_config_dt( of_property_read_u32(np, "reg-io-width", &width); if (width == 4) config->flags |= SMSC911X_USE_32BIT; + else + config->flags |= SMSC911X_USE_16BIT;Would it be better to do "else if (width == 2)"? (completely uninformed comment. I've not looked at what the non-DT probe path does on this driver.)
I wouldn't have a problem with that. But currently the binding documentation says that any value other than 4, or a missing property, implies 16-bit register access. So the binding documentation would need to change too in that case. Personally I think this would be better, but it's just an opinion. Cheers ---Dave