[rtl818x] Obviate RTL_ROM() hack
Reported-by: Robin Smidsrød <robin@smidsrod.no> Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
parent
eda1c58358
commit
2154af0077
@ -3,16 +3,23 @@
|
|||||||
FILE_LICENCE(GPL2_OR_LATER);
|
FILE_LICENCE(GPL2_OR_LATER);
|
||||||
|
|
||||||
#include <ipxe/pci.h>
|
#include <ipxe/pci.h>
|
||||||
|
#include "rtl818x.h"
|
||||||
|
|
||||||
PROVIDE_REQUIRING_SYMBOL();
|
static struct pci_device_id rtl8180_nics[] = {
|
||||||
REQUIRE_OBJECT(rtl818x);
|
|
||||||
REQUIRE_OBJECT(rtl8180_grf5101);
|
|
||||||
REQUIRE_OBJECT(rtl8180_max2820);
|
|
||||||
REQUIRE_OBJECT(rtl8180_sa2400);
|
|
||||||
|
|
||||||
static struct pci_device_id rtl8180_nics[] __unused = {
|
|
||||||
PCI_ROM(0x10ec, 0x8180, "rtl8180", "Realtek 8180", 0),
|
PCI_ROM(0x10ec, 0x8180, "rtl8180", "Realtek 8180", 0),
|
||||||
PCI_ROM(0x1799, 0x6001, "f5d6001", "Belkin F5D6001", 0),
|
PCI_ROM(0x1799, 0x6001, "f5d6001", "Belkin F5D6001", 0),
|
||||||
PCI_ROM(0x1799, 0x6020, "f5d6020", "Belkin F5D6020", 0),
|
PCI_ROM(0x1799, 0x6020, "f5d6020", "Belkin F5D6020", 0),
|
||||||
PCI_ROM(0x1186, 0x3300, "dwl510", "D-Link DWL-510", 0),
|
PCI_ROM(0x1186, 0x3300, "dwl510", "D-Link DWL-510", 0),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct pci_driver rtl8180_driver __pci_driver = {
|
||||||
|
.ids = rtl8180_nics,
|
||||||
|
.id_count = sizeof(rtl8180_nics) / sizeof(rtl8180_nics[0]),
|
||||||
|
.probe = rtl818x_probe,
|
||||||
|
.remove = rtl818x_remove,
|
||||||
|
};
|
||||||
|
|
||||||
|
REQUIRING_SYMBOL(rtl8180_driver);
|
||||||
|
REQUIRE_OBJECT(rtl8180_grf5101);
|
||||||
|
REQUIRE_OBJECT(rtl8180_max2820);
|
||||||
|
REQUIRE_OBJECT(rtl8180_sa2400);
|
||||||
|
@ -3,13 +3,20 @@
|
|||||||
FILE_LICENCE(GPL2_OR_LATER);
|
FILE_LICENCE(GPL2_OR_LATER);
|
||||||
|
|
||||||
#include <ipxe/pci.h>
|
#include <ipxe/pci.h>
|
||||||
|
#include "rtl818x.h"
|
||||||
PROVIDE_REQUIRING_SYMBOL();
|
|
||||||
REQUIRE_OBJECT(rtl818x);
|
|
||||||
REQUIRE_OBJECT(rtl8185_rtl8225);
|
|
||||||
|
|
||||||
static struct pci_device_id rtl8185_nics[] __unused = {
|
static struct pci_device_id rtl8185_nics[] __unused = {
|
||||||
PCI_ROM(0x10ec, 0x8185, "rtl8185", "Realtek 8185", 0),
|
PCI_ROM(0x10ec, 0x8185, "rtl8185", "Realtek 8185", 0),
|
||||||
PCI_ROM(0x1799, 0x700f, "f5d7000", "Belkin F5D7000", 0),
|
PCI_ROM(0x1799, 0x700f, "f5d7000", "Belkin F5D7000", 0),
|
||||||
PCI_ROM(0x1799, 0x701f, "f5d7010", "Belkin F5D7010", 0),
|
PCI_ROM(0x1799, 0x701f, "f5d7010", "Belkin F5D7010", 0),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct pci_driver rtl8185_driver __pci_driver = {
|
||||||
|
.ids = rtl8185_nics,
|
||||||
|
.id_count = sizeof(rtl8185_nics) / sizeof(rtl8185_nics[0]),
|
||||||
|
.probe = rtl818x_probe,
|
||||||
|
.remove = rtl818x_remove,
|
||||||
|
};
|
||||||
|
|
||||||
|
REQUIRING_SYMBOL(rtl8185_driver);
|
||||||
|
REQUIRE_OBJECT(rtl8185_rtl8225);
|
||||||
|
@ -649,7 +649,7 @@ struct net80211_device_operations rtl818x_operations = {
|
|||||||
.config = rtl818x_config,
|
.config = rtl818x_config,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int rtl818x_probe(struct pci_device *pdev )
|
int rtl818x_probe(struct pci_device *pdev )
|
||||||
{
|
{
|
||||||
struct net80211_device *dev;
|
struct net80211_device *dev;
|
||||||
struct rtl818x_priv *priv;
|
struct rtl818x_priv *priv;
|
||||||
@ -820,7 +820,7 @@ static int rtl818x_probe(struct pci_device *pdev )
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rtl818x_remove(struct pci_device *pdev)
|
void rtl818x_remove(struct pci_device *pdev)
|
||||||
{
|
{
|
||||||
struct net80211_device *dev = pci_get_drvdata(pdev);
|
struct net80211_device *dev = pci_get_drvdata(pdev);
|
||||||
|
|
||||||
@ -830,25 +830,3 @@ static void rtl818x_remove(struct pci_device *pdev)
|
|||||||
net80211_unregister(dev);
|
net80211_unregister(dev);
|
||||||
net80211_free(dev);
|
net80211_free(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Hide PCI_ROM definitions in here from parserom.pl; the definitions
|
|
||||||
that should be used are in rtl8180.c and rtl8185.c. */
|
|
||||||
#define RTL_ROM PCI_ROM
|
|
||||||
|
|
||||||
static struct pci_device_id rtl818x_nics[] = {
|
|
||||||
RTL_ROM(0x10ec, 0x8185, "rtl8185", "Realtek 8185", 0),
|
|
||||||
RTL_ROM(0x1799, 0x700f, "f5d7000", "Belkin F5D7000", 0),
|
|
||||||
RTL_ROM(0x1799, 0x701f, "f5d7010", "Belkin F5D7010", 0),
|
|
||||||
|
|
||||||
RTL_ROM(0x10ec, 0x8180, "rtl8180", "Realtek 8180", 0),
|
|
||||||
RTL_ROM(0x1799, 0x6001, "f5d6001", "Belkin F5D6001", 0),
|
|
||||||
RTL_ROM(0x1799, 0x6020, "f5d6020", "Belkin F5D6020", 0),
|
|
||||||
RTL_ROM(0x1186, 0x3300, "dwl510", "D-Link DWL-510", 0),
|
|
||||||
};
|
|
||||||
|
|
||||||
struct pci_driver rtl818x_driver __pci_driver = {
|
|
||||||
.ids = rtl818x_nics,
|
|
||||||
.id_count = sizeof(rtl818x_nics) / sizeof(rtl818x_nics[0]),
|
|
||||||
.probe = rtl818x_probe,
|
|
||||||
.remove = rtl818x_remove,
|
|
||||||
};
|
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
#include <ipxe/spi_bit.h>
|
#include <ipxe/spi_bit.h>
|
||||||
#include <ipxe/tables.h>
|
#include <ipxe/tables.h>
|
||||||
|
#include <ipxe/net80211.h>
|
||||||
|
|
||||||
FILE_LICENCE(GPL2_ONLY);
|
FILE_LICENCE(GPL2_ONLY);
|
||||||
|
|
||||||
@ -356,4 +357,7 @@ struct rtl818x_rf_ops {
|
|||||||
void (*conf_erp)(struct net80211_device *dev); /* set based on dev->erp_flags */
|
void (*conf_erp)(struct net80211_device *dev); /* set based on dev->erp_flags */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern int rtl818x_probe(struct pci_device *pdev );
|
||||||
|
extern void rtl818x_remove(struct pci_device *pdev);
|
||||||
|
|
||||||
#endif /* RTL818X_H */
|
#endif /* RTL818X_H */
|
||||||
|
Reference in New Issue
Block a user