Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
This commit is contained in:
@@ -13,9 +13,8 @@ config STMMAC_ETH
|
||||
if STMMAC_ETH
|
||||
|
||||
config STMMAC_PLATFORM
|
||||
tristate "STMMAC platform bus support"
|
||||
bool "STMMAC Platform bus support"
|
||||
depends on STMMAC_ETH
|
||||
default y
|
||||
---help---
|
||||
This selects the platform specific bus support for
|
||||
the stmmac device driver. This is the driver used
|
||||
@@ -26,7 +25,7 @@ config STMMAC_PLATFORM
|
||||
If unsure, say N.
|
||||
|
||||
config STMMAC_PCI
|
||||
tristate "STMMAC support on PCI bus (EXPERIMENTAL)"
|
||||
bool "STMMAC PCI bus support (EXPERIMENTAL)"
|
||||
depends on STMMAC_ETH && PCI && EXPERIMENTAL
|
||||
---help---
|
||||
This is to select the Synopsys DWMAC available on PCI devices,
|
||||
|
@@ -95,7 +95,8 @@ extern int stmmac_mdio_register(struct net_device *ndev);
|
||||
extern void stmmac_set_ethtool_ops(struct net_device *netdev);
|
||||
extern const struct stmmac_desc_ops enh_desc_ops;
|
||||
extern const struct stmmac_desc_ops ndesc_ops;
|
||||
|
||||
extern struct pci_driver stmmac_pci_driver;
|
||||
extern struct platform_driver stmmac_pltfr_driver;
|
||||
int stmmac_freeze(struct net_device *ndev);
|
||||
int stmmac_restore(struct net_device *ndev);
|
||||
int stmmac_resume(struct net_device *ndev);
|
||||
|
@@ -42,6 +42,7 @@
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/prefetch.h>
|
||||
#include <linux/pci.h>
|
||||
#ifdef CONFIG_STMMAC_DEBUG_FS
|
||||
#include <linux/debugfs.h>
|
||||
#include <linux/seq_file.h>
|
||||
@@ -833,8 +834,9 @@ static u32 stmmac_get_synopsys_id(struct stmmac_priv *priv)
|
||||
|
||||
/**
|
||||
* stmmac_selec_desc_mode
|
||||
* @dev : device pointer
|
||||
* Description: select the Enhanced/Alternate or Normal descriptors */
|
||||
* @priv : private structure
|
||||
* Description: select the Enhanced/Alternate or Normal descriptors
|
||||
*/
|
||||
static void stmmac_selec_desc_mode(struct stmmac_priv *priv)
|
||||
{
|
||||
if (priv->plat->enh_desc) {
|
||||
@@ -1860,6 +1862,8 @@ static int stmmac_hw_init(struct stmmac_priv *priv)
|
||||
/**
|
||||
* stmmac_dvr_probe
|
||||
* @device: device pointer
|
||||
* @plat_dat: platform data pointer
|
||||
* @addr: iobase memory address
|
||||
* Description: this is the main probe function used to
|
||||
* call the alloc_etherdev, allocate the priv structure.
|
||||
*/
|
||||
@@ -2089,6 +2093,30 @@ int stmmac_restore(struct net_device *ndev)
|
||||
}
|
||||
#endif /* CONFIG_PM */
|
||||
|
||||
static int __init stmmac_init(void)
|
||||
{
|
||||
int err = 0;
|
||||
|
||||
err = platform_driver_register(&stmmac_pltfr_driver);
|
||||
|
||||
if (!err) {
|
||||
err = pci_register_driver(&stmmac_pci_driver);
|
||||
if (err)
|
||||
platform_driver_unregister(&stmmac_pltfr_driver);
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
static void __exit stmmac_exit(void)
|
||||
{
|
||||
pci_unregister_driver(&stmmac_pci_driver);
|
||||
platform_driver_unregister(&stmmac_pltfr_driver);
|
||||
}
|
||||
|
||||
module_init(stmmac_init);
|
||||
module_exit(stmmac_exit);
|
||||
|
||||
#ifndef MODULE
|
||||
static int __init stmmac_cmdline_opt(char *str)
|
||||
{
|
||||
|
@@ -179,7 +179,7 @@ static DEFINE_PCI_DEVICE_TABLE(stmmac_id_table) = {
|
||||
|
||||
MODULE_DEVICE_TABLE(pci, stmmac_id_table);
|
||||
|
||||
static struct pci_driver stmmac_driver = {
|
||||
struct pci_driver stmmac_pci_driver = {
|
||||
.name = STMMAC_RESOURCE_NAME,
|
||||
.id_table = stmmac_id_table,
|
||||
.probe = stmmac_pci_probe,
|
||||
@@ -190,33 +190,6 @@ static struct pci_driver stmmac_driver = {
|
||||
#endif
|
||||
};
|
||||
|
||||
/**
|
||||
* stmmac_init_module - Entry point for the driver
|
||||
* Description: This function is the entry point for the driver.
|
||||
*/
|
||||
static int __init stmmac_init_module(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = pci_register_driver(&stmmac_driver);
|
||||
if (ret < 0)
|
||||
pr_err("%s: ERROR: driver registration failed\n", __func__);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* stmmac_cleanup_module - Cleanup routine for the driver
|
||||
* Description: This function is the cleanup routine for the driver.
|
||||
*/
|
||||
static void __exit stmmac_cleanup_module(void)
|
||||
{
|
||||
pci_unregister_driver(&stmmac_driver);
|
||||
}
|
||||
|
||||
module_init(stmmac_init_module);
|
||||
module_exit(stmmac_cleanup_module);
|
||||
|
||||
MODULE_DESCRIPTION("STMMAC 10/100/1000 Ethernet PCI driver");
|
||||
MODULE_AUTHOR("Rayagond Kokatanur <rayagond.kokatanur@vayavyalabs.com>");
|
||||
MODULE_AUTHOR("Giuseppe Cavallaro <peppe.cavallaro@st.com>");
|
||||
|
@@ -255,7 +255,7 @@ static const struct of_device_id stmmac_dt_ids[] = {
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, stmmac_dt_ids);
|
||||
|
||||
static struct platform_driver stmmac_driver = {
|
||||
struct platform_driver stmmac_pltfr_driver = {
|
||||
.probe = stmmac_pltfr_probe,
|
||||
.remove = stmmac_pltfr_remove,
|
||||
.driver = {
|
||||
@@ -266,8 +266,6 @@ static struct platform_driver stmmac_driver = {
|
||||
},
|
||||
};
|
||||
|
||||
module_platform_driver(stmmac_driver);
|
||||
|
||||
MODULE_DESCRIPTION("STMMAC 10/100/1000 Ethernet PLATFORM driver");
|
||||
MODULE_AUTHOR("Giuseppe Cavallaro <peppe.cavallaro@st.com>");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
Reference in New Issue
Block a user