* Tony Lindgren <t...@atomide.com> [131116 07:17]:
>
> Here's what I was thinking with the reg-io-width-mask. Anybody
> have comments on using reg-io-width vs reg-io-width-mask?
...

> --- a/drivers/net/ethernet/smsc/smc91x.c
> +++ b/drivers/net/ethernet/smsc/smc91x.c
> @@ -2222,11 +2234,31 @@ static int smc_drv_probe(struct platform_device *pdev)
>        */
>  
>       lp = netdev_priv(ndev);
> +     lp->cfg.flags = 0;
>  
>       if (pd) {
>               memcpy(&lp->cfg, pd, sizeof(lp->cfg));
>               lp->io_shift = SMC91X_IO_SHIFT(lp->cfg.flags);
> -     } else {
> +     }
> +
> +#if IS_BUILTIN(CONFIG_OF)
> +     match = of_match_device(of_match_ptr(smc91x_match), &pdev->dev);
> +     if (match) {
> +             u32 val;
> +
> +             of_property_read_u32(np, "reg-io-width", &val);
> +             if (val == 0)
> +                     lp->cfg.flags |= SMC91X_USE_16BIT;
> +             if (val & 1)
> +                     lp->cfg.flags |= SMC91X_USE_8BIT;
> +             if (val & 2)
> +                     lp->cfg.flags |= SMC91X_USE_16BIT;
> +             if (val & 4)
> +                     lp->cfg.flags |= SMC91X_USE_32BIT;
> +     }
> +#endif
> +
> +     if (!pd && !match) {
>               lp->cfg.flags |= (SMC_CAN_USE_8BIT)  ? SMC91X_USE_8BIT  : 0;
>               lp->cfg.flags |= (SMC_CAN_USE_16BIT) ? SMC91X_USE_16BIT : 0;
>               lp->cfg.flags |= (SMC_CAN_USE_32BIT) ? SMC91X_USE_32BIT : 0;

Looks this patch is missing the check for the return value for
of_property_read_u32(), will repost this patch separately as the
others in this series are out of the way now.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to