[PATCH v3] net/smsc911x: add device tree probe support
Dave Martin
dave.martin at linaro.org
Thu Sep 8 10:59:46 EDT 2011
Hi Shawn,
On Sun, Jul 31, 2011 at 02:26:00AM +0800, Shawn Guo wrote:
> It adds device tree probe support for smsc911x driver.
>
> Signed-off-by: Shawn Guo <shawn.guo at linaro.org>
> Cc: Grant Likely <grant.likely at secretlab.ca>
> Cc: Steve Glendinning <steve.glendinning at smsc.com>
> Cc: David S. Miller <davem at davemloft.net>
> Reviewed-by: Grant Likely <grant.likely at secretlab.ca>
> ---
> 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 binding
When 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 <dave.martin at linaro.org>
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 <dave.martin at linaro.org>
---
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;
if (of_get_property(np, "smsc,irq-active-high", NULL))
config->irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_HIGH;
--
1.7.4.1
More information about the linux-arm-kernel
mailing list