p54: unify ieee80211 device registration
All three drivers (p54pci, p54usb and p54spi) are implementing the same functionality three times. So, why not put it into the shared library?! Signed-off-by: Christian Lamparter <chunkeey@web.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
fbf95296c1
commit
2ac710720c
|
@ -165,6 +165,7 @@ int p54_parse_firmware(struct ieee80211_hw *dev, const struct firmware *fw);
|
||||||
int p54_parse_eeprom(struct ieee80211_hw *dev, void *eeprom, int len);
|
int p54_parse_eeprom(struct ieee80211_hw *dev, void *eeprom, int len);
|
||||||
int p54_read_eeprom(struct ieee80211_hw *dev);
|
int p54_read_eeprom(struct ieee80211_hw *dev);
|
||||||
struct ieee80211_hw *p54_init_common(size_t priv_data_len);
|
struct ieee80211_hw *p54_init_common(size_t priv_data_len);
|
||||||
|
int p54_register_common(struct ieee80211_hw *dev, struct device *pdev);
|
||||||
void p54_free_common(struct ieee80211_hw *dev);
|
void p54_free_common(struct ieee80211_hw *dev);
|
||||||
|
|
||||||
#endif /* P54_H */
|
#endif /* P54_H */
|
||||||
|
|
|
@ -2489,6 +2489,21 @@ struct ieee80211_hw *p54_init_common(size_t priv_data_len)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(p54_init_common);
|
EXPORT_SYMBOL_GPL(p54_init_common);
|
||||||
|
|
||||||
|
int p54_register_common(struct ieee80211_hw *dev, struct device *pdev)
|
||||||
|
{
|
||||||
|
int err;
|
||||||
|
|
||||||
|
err = ieee80211_register_hw(dev);
|
||||||
|
if (err) {
|
||||||
|
dev_err(pdev, "Cannot register device (%d).\n", err);
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
dev_info(pdev, "is registered as '%s'\n", wiphy_name(dev->wiphy));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(p54_register_common);
|
||||||
|
|
||||||
void p54_free_common(struct ieee80211_hw *dev)
|
void p54_free_common(struct ieee80211_hw *dev)
|
||||||
{
|
{
|
||||||
struct p54_common *priv = dev->priv;
|
struct p54_common *priv = dev->priv;
|
||||||
|
|
|
@ -565,12 +565,9 @@ static int __devinit p54p_probe(struct pci_dev *pdev,
|
||||||
if (err)
|
if (err)
|
||||||
goto err_free_common;
|
goto err_free_common;
|
||||||
|
|
||||||
err = ieee80211_register_hw(dev);
|
err = p54_register_common(dev, &pdev->dev);
|
||||||
if (err) {
|
if (err)
|
||||||
printk(KERN_ERR "%s (p54pci): Cannot register netdevice\n",
|
|
||||||
pci_name(pdev));
|
|
||||||
goto err_free_common;
|
goto err_free_common;
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
|
@ -694,15 +694,10 @@ static int __devinit p54spi_probe(struct spi_device *spi)
|
||||||
if (ret)
|
if (ret)
|
||||||
goto err_free_common;
|
goto err_free_common;
|
||||||
|
|
||||||
ret = ieee80211_register_hw(hw);
|
ret = p54_register_common(hw, &priv->spi->dev);
|
||||||
if (ret) {
|
if (ret)
|
||||||
dev_err(&priv->spi->dev, "unable to register "
|
|
||||||
"mac80211 hw: %d", ret);
|
|
||||||
goto err_free_common;
|
goto err_free_common;
|
||||||
}
|
|
||||||
|
|
||||||
dev_info(&priv->spi->dev, "device is bound to %s\n",
|
|
||||||
wiphy_name(hw->wiphy));
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_free_common:
|
err_free_common:
|
||||||
|
|
|
@ -976,11 +976,9 @@ static int __devinit p54u_probe(struct usb_interface *intf,
|
||||||
if (err)
|
if (err)
|
||||||
goto err_free_dev;
|
goto err_free_dev;
|
||||||
|
|
||||||
err = ieee80211_register_hw(dev);
|
err = p54_register_common(dev, &udev->dev);
|
||||||
if (err) {
|
if (err)
|
||||||
dev_err(&udev->dev, "(p54usb) Cannot register netdevice\n");
|
|
||||||
goto err_free_dev;
|
goto err_free_dev;
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue