forked from Minki/linux
d2ed0a7755
Make sure to deregister and free any fixed-link phy registered during probe on probe errors and on driver unbind by adding a new glue helper function. Drop the of-node reference taken in the same path also on late probe errors (and not just on driver unbind) by moving the put from stmmac_dvr_remove() to the new helper. Fixes:277323814e
("stmmac: add fixed-link device-tree support") Fixes:4613b279be
("ethernet: stmicro: stmmac: add missing of_node_put after calling of_parse_phandle") Signed-off-by: Johan Hovold <johan@kernel.org> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: David S. Miller <davem@davemloft.net>
44 lines
1.5 KiB
C
44 lines
1.5 KiB
C
/*******************************************************************************
|
|
Copyright (C) 2007-2009 STMicroelectronics Ltd
|
|
|
|
This program is free software; you can redistribute it and/or modify it
|
|
under the terms and conditions of the GNU General Public License,
|
|
version 2, as published by the Free Software Foundation.
|
|
|
|
This program is distributed in the hope it will be useful, but WITHOUT
|
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
more details.
|
|
|
|
The full GNU General Public License is included in this distribution in
|
|
the file called "COPYING".
|
|
|
|
Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
|
|
*******************************************************************************/
|
|
|
|
#ifndef __STMMAC_PLATFORM_H__
|
|
#define __STMMAC_PLATFORM_H__
|
|
|
|
#include "stmmac.h"
|
|
|
|
struct plat_stmmacenet_data *
|
|
stmmac_probe_config_dt(struct platform_device *pdev, const char **mac);
|
|
void stmmac_remove_config_dt(struct platform_device *pdev,
|
|
struct plat_stmmacenet_data *plat);
|
|
|
|
int stmmac_get_platform_resources(struct platform_device *pdev,
|
|
struct stmmac_resources *stmmac_res);
|
|
|
|
int stmmac_pltfr_remove(struct platform_device *pdev);
|
|
extern const struct dev_pm_ops stmmac_pltfr_pm_ops;
|
|
|
|
static inline void *get_stmmac_bsp_priv(struct device *dev)
|
|
{
|
|
struct net_device *ndev = dev_get_drvdata(dev);
|
|
struct stmmac_priv *priv = netdev_priv(ndev);
|
|
|
|
return priv->plat->bsp_priv;
|
|
}
|
|
|
|
#endif /* __STMMAC_PLATFORM_H__ */
|