Commit f26cd41a authored by Dave Martin's avatar Dave Martin Committed by David S. Miller

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 device tree
doesn't specify 32-bit access, resulting in a BUG() and a non-
working driver when 16-bit register access is configured for
smsc911x in the DT.

This patch should set the SMSC911X_USE_16BIT flag in a manner
consistent with the documented DT bindings.
Signed-off-by: default avatarDave Martin <dave.martin@linaro.org>
Acked-by: default avatarGrant Likely <grant.likely@secretlab.ca>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 9c9b1f24
...@@ -2121,6 +2121,8 @@ static int __devinit smsc911x_probe_config_dt( ...@@ -2121,6 +2121,8 @@ static int __devinit smsc911x_probe_config_dt(
of_property_read_u32(np, "reg-io-width", &width); of_property_read_u32(np, "reg-io-width", &width);
if (width == 4) if (width == 4)
config->flags |= SMSC911X_USE_32BIT; config->flags |= SMSC911X_USE_32BIT;
else
config->flags |= SMSC911X_USE_16BIT;
if (of_get_property(np, "smsc,irq-active-high", NULL)) if (of_get_property(np, "smsc,irq-active-high", NULL))
config->irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_HIGH; config->irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_HIGH;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment