Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7c52ae7 authored by Joachim Eastwood's avatar Joachim Eastwood Committed by David S. Miller
Browse files

stmmac: convert dwmac-socfpga to platform driver



Convert platform glue layer into a proper platform
driver and add it to the build system.

Signed-off-by: default avatarJoachim Eastwood <manabian@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e0fb4013
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -66,6 +66,18 @@ config DWMAC_ROCKCHIP
	  This selects the Rockchip RK3288 SoC glue layer support for
	  the stmmac device driver.

config DWMAC_SOCFPGA
	tristate "SOCFPGA dwmac support"
	default ARCH_SOCFPGA
	depends on OF
	select MFD_SYSCON
	help
	  Support for ethernet controller on Altera SOCFPGA

	  This selects the Altera SOCFPGA SoC glue layer support
	  for the stmmac device driver. This driver is used for
	  arria5 and cyclone5 FPGA SoCs.

endif

config STMMAC_PCI
+2 −1
Original line number Diff line number Diff line
@@ -9,9 +9,10 @@ obj-$(CONFIG_STMMAC_PLATFORM) += stmmac-platform.o
obj-$(CONFIG_DWMAC_LPC18XX)	+= dwmac-lpc18xx.o
obj-$(CONFIG_DWMAC_MESON)	+= dwmac-meson.o
obj-$(CONFIG_DWMAC_ROCKCHIP)	+= dwmac-rk.o
obj-$(CONFIG_DWMAC_SOCFPGA)	+= dwmac-socfpga.o
obj-$(CONFIG_DWMAC_GENERIC)	+= dwmac-generic.o
stmmac-platform-objs:= stmmac_platform.o dwmac-sunxi.o \
		       dwmac-sti.o dwmac-socfpga.o
		       dwmac-sti.o

obj-$(CONFIG_STMMAC_PCI) += stmmac-pci.o
stmmac-pci-objs:= stmmac_pci.o
+20 −1
Original line number Diff line number Diff line
@@ -257,9 +257,28 @@ static int socfpga_dwmac_init(struct platform_device *pdev, void *priv)
	return ret;
}

const struct stmmac_of_data socfpga_gmac_data = {
static const struct stmmac_of_data socfpga_gmac_data = {
	.setup = socfpga_dwmac_probe,
	.init = socfpga_dwmac_init,
	.exit = socfpga_dwmac_exit,
	.fix_mac_speed = socfpga_dwmac_fix_mac_speed,
};

static const struct of_device_id socfpga_dwmac_match[] = {
	{ .compatible = "altr,socfpga-stmmac", .data = &socfpga_gmac_data },
	{ }
};
MODULE_DEVICE_TABLE(of, socfpga_dwmac_match);

static struct platform_driver socfpga_dwmac_driver = {
	.probe  = stmmac_pltfr_probe,
	.remove = stmmac_pltfr_remove,
	.driver = {
		.name           = "socfpga-dwmac",
		.pm		= &stmmac_pltfr_pm_ops,
		.of_match_table = socfpga_dwmac_match,
	},
};
module_platform_driver(socfpga_dwmac_driver);

MODULE_LICENSE("GPL v2");
+0 −1
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@ static const struct of_device_id stmmac_dt_ids[] = {
	{ .compatible = "st,stih416-dwmac", .data = &stih4xx_dwmac_data},
	{ .compatible = "st,stid127-dwmac", .data = &stid127_dwmac_data},
	{ .compatible = "st,stih407-dwmac", .data = &stih4xx_dwmac_data},
	{ .compatible = "altr,socfpga-stmmac", .data = &socfpga_gmac_data },
	{ /* sentinel */ }
};
MODULE_DEVICE_TABLE(of, stmmac_dt_ids);
+0 −1
Original line number Diff line number Diff line
@@ -26,6 +26,5 @@ extern const struct dev_pm_ops stmmac_pltfr_pm_ops;
extern const struct stmmac_of_data sun7i_gmac_data;
extern const struct stmmac_of_data stih4xx_dwmac_data;
extern const struct stmmac_of_data stid127_dwmac_data;
extern const struct stmmac_of_data socfpga_gmac_data;

#endif /* __STMMAC_PLATFORM_H__ */