[PATCH V2 7/7] net: stmmac: Overwrite platform data if passed from auxdata
viresh kumar
viresh.kumar at linaro.org
Fri Jul 13 06:17:19 EDT 2012
On Fri, Jul 13, 2012 at 10:23 AM, Vipul Kumar Samar
<vipulkumar.samar at st.com> wrote:
> Platform data can be passed through either device tree or
> auxdata_lookup. Device tree still donot have any means to provide
> facility for passing platform callbacks to the driver.
>
> If any platform data is available through auxdata_lookup then overwrite
> the platform data passed through device tree.
>
> Signed-off-by: Vipul Kumar Samar <vipulkumar.samar at st.com>
This one is part of wrong patchset, remove it from this one, when you send a
pull request to Arnd/Olof.
Send it to net dev list separately. Keep giuseppe and stefan Roese in CC.
> ---
> .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 5 +++--
> 1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> index 680d2b8..4651579 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
> @@ -114,10 +114,11 @@ static int stmmac_pltfr_probe(struct platform_device *pdev)
> pr_err("%s: main dt probe failed", __func__);
> goto out_unmap;
> }
> - } else {
> - plat_dat = pdev->dev.platform_data;
> }
>
> + if (pdev->dev.platform_data)
> + plat_dat = pdev->dev.platform_data;
> +
Even this looks wrong. You can't simply override plat_dat like this.
Better to add properties to stmmac driver, that you can pass via DT.
That's what Stefan also mentioned in his original patch:
static int __devinit stmmac_probe_config_dt(struct platform_device *pdev,
struct plat_stmmacenet_data *plat,
const char **mac)
{
/*
* Currently only the properties needed on SPEAr600
* are provided. All other properties should be added
* once needed on other platforms.
*/
--
viresh
More information about the linux-arm-kernel
mailing list