ARM: OMAP2+ smsc911x: Fix possible stale smsc911x flags
authorRuss Dill <[email protected]>
Fri, 23 Mar 2012 09:21:34 +0000 (02:21 -0700)
committerTony Lindgren <[email protected]>
Tue, 3 Apr 2012 17:29:12 +0000 (10:29 -0700)
If this function is called the first time with flags set, and the
second time without flags set then the leftover flags from the first
called will be used rather than the desired default flags.

Signed-off-by: Russ Dill <[email protected]>
Tested-by: Igor Grinberg <[email protected]>
Signed-off-by: Tony Lindgren <[email protected]>
arch/arm/mach-omap2/gpmc-smsc911x.c

index aa0c296ff34a14c0d1b234754aef96d1f1d2b0e1..f9446eaf9176c047c76320540632875b08b89ff5 100644 (file)
@@ -39,7 +39,6 @@ static struct smsc911x_platform_config gpmc_smsc911x_config = {
        .phy_interface  = PHY_INTERFACE_MODE_MII,
        .irq_polarity   = SMSC911X_IRQ_POLARITY_ACTIVE_LOW,
        .irq_type       = SMSC911X_IRQ_TYPE_OPEN_DRAIN,
-       .flags          = SMSC911X_USE_16BIT,
 };
 
 static struct regulator_consumer_supply gpmc_smsc911x_supply[] = {
@@ -135,8 +134,7 @@ void __init gpmc_smsc911x_init(struct omap_smsc911x_platform_data *gpmc_cfg)
                gpio_set_value(gpmc_cfg->gpio_reset, 1);
        }
 
-       if (gpmc_cfg->flags)
-               gpmc_smsc911x_config.flags = gpmc_cfg->flags;
+       gpmc_smsc911x_config.flags = gpmc_cfg->flags ? : SMSC911X_USE_16BIT;
 
        pdev = platform_device_register_resndata(NULL, "smsc911x", gpmc_cfg->id,
                 gpmc_smsc911x_resources, ARRAY_SIZE(gpmc_smsc911x_resources),