mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-30 19:06:14 +00:00
ath5k: Check if pci pdev struct is initialized in common functions.
To be able to support other busses than PCI check if pci device structure is initialized. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: Wojciech Dubowik <Wojciech.Dubowik@neratec.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
4aa5d783c9
commit
8efa5d7d6a
4 changed files with 10 additions and 8 deletions
|
@ -273,7 +273,7 @@ int ath5k_hw_init(struct ath5k_softc *sc)
|
||||||
/*
|
/*
|
||||||
* Write PCI-E power save settings
|
* Write PCI-E power save settings
|
||||||
*/
|
*/
|
||||||
if ((ah->ah_version == AR5K_AR5212) && (pdev->is_pcie)) {
|
if ((ah->ah_version == AR5K_AR5212) && pdev && (pdev->is_pcie)) {
|
||||||
ath5k_hw_reg_write(ah, 0x9248fc00, AR5K_PCIE_SERDES);
|
ath5k_hw_reg_write(ah, 0x9248fc00, AR5K_PCIE_SERDES);
|
||||||
ath5k_hw_reg_write(ah, 0x24924924, AR5K_PCIE_SERDES);
|
ath5k_hw_reg_write(ah, 0x24924924, AR5K_PCIE_SERDES);
|
||||||
|
|
||||||
|
@ -305,8 +305,7 @@ int ath5k_hw_init(struct ath5k_softc *sc)
|
||||||
/* Get misc capabilities */
|
/* Get misc capabilities */
|
||||||
ret = ath5k_hw_set_capabilities(ah);
|
ret = ath5k_hw_set_capabilities(ah);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
ATH5K_ERR(sc, "unable to get device capabilities: 0x%04x\n",
|
ATH5K_ERR(sc, "unable to get device capabilities\n");
|
||||||
sc->pdev->device);
|
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -133,7 +133,7 @@ ath5k_register_led(struct ath5k_softc *sc, struct ath5k_led *led,
|
||||||
led->led_dev.default_trigger = trigger;
|
led->led_dev.default_trigger = trigger;
|
||||||
led->led_dev.brightness_set = ath5k_led_brightness_set;
|
led->led_dev.brightness_set = ath5k_led_brightness_set;
|
||||||
|
|
||||||
err = led_classdev_register(&sc->pdev->dev, &led->led_dev);
|
err = led_classdev_register(sc->dev, &led->led_dev);
|
||||||
if (err) {
|
if (err) {
|
||||||
ATH5K_WARN(sc, "could not register LED %s\n", name);
|
ATH5K_WARN(sc, "could not register LED %s\n", name);
|
||||||
led->sc = NULL;
|
led->sc = NULL;
|
||||||
|
@ -165,6 +165,9 @@ int ath5k_init_leds(struct ath5k_softc *sc)
|
||||||
char name[ATH5K_LED_MAX_NAME_LEN + 1];
|
char name[ATH5K_LED_MAX_NAME_LEN + 1];
|
||||||
const struct pci_device_id *match;
|
const struct pci_device_id *match;
|
||||||
|
|
||||||
|
if (!sc->pdev)
|
||||||
|
return 0;
|
||||||
|
|
||||||
match = pci_match_id(&ath5k_led_devices[0], pdev);
|
match = pci_match_id(&ath5k_led_devices[0], pdev);
|
||||||
if (match) {
|
if (match) {
|
||||||
__set_bit(ATH_STAT_LEDSOFT, sc->status);
|
__set_bit(ATH_STAT_LEDSOFT, sc->status);
|
||||||
|
|
|
@ -471,7 +471,7 @@ int ath5k_hw_on_hold(struct ath5k_hw *ah)
|
||||||
* we ingore that flag for PCI-E cards. On PCI cards
|
* we ingore that flag for PCI-E cards. On PCI cards
|
||||||
* this flag gets cleared after 64 PCI clocks.
|
* this flag gets cleared after 64 PCI clocks.
|
||||||
*/
|
*/
|
||||||
bus_flags = (pdev->is_pcie) ? 0 : AR5K_RESET_CTL_PCI;
|
bus_flags = (pdev && pdev->is_pcie) ? 0 : AR5K_RESET_CTL_PCI;
|
||||||
|
|
||||||
if (ah->ah_version == AR5K_AR5210) {
|
if (ah->ah_version == AR5K_AR5210) {
|
||||||
ret = ath5k_hw_nic_reset(ah, AR5K_RESET_CTL_PCU |
|
ret = ath5k_hw_nic_reset(ah, AR5K_RESET_CTL_PCU |
|
||||||
|
@ -526,7 +526,7 @@ int ath5k_hw_nic_wakeup(struct ath5k_hw *ah, int flags, bool initial)
|
||||||
* we ingore that flag for PCI-E cards. On PCI cards
|
* we ingore that flag for PCI-E cards. On PCI cards
|
||||||
* this flag gets cleared after 64 PCI clocks.
|
* this flag gets cleared after 64 PCI clocks.
|
||||||
*/
|
*/
|
||||||
bus_flags = (pdev->is_pcie) ? 0 : AR5K_RESET_CTL_PCI;
|
bus_flags = (pdev && pdev->is_pcie) ? 0 : AR5K_RESET_CTL_PCI;
|
||||||
|
|
||||||
if (ah->ah_version == AR5K_AR5210) {
|
if (ah->ah_version == AR5K_AR5210) {
|
||||||
ret = ath5k_hw_nic_reset(ah, AR5K_RESET_CTL_PCU |
|
ret = ath5k_hw_nic_reset(ah, AR5K_RESET_CTL_PCU |
|
||||||
|
|
|
@ -95,7 +95,7 @@ static struct attribute_group ath5k_attribute_group_ani = {
|
||||||
int
|
int
|
||||||
ath5k_sysfs_register(struct ath5k_softc *sc)
|
ath5k_sysfs_register(struct ath5k_softc *sc)
|
||||||
{
|
{
|
||||||
struct device *dev = &sc->pdev->dev;
|
struct device *dev = sc->dev;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
err = sysfs_create_group(&dev->kobj, &ath5k_attribute_group_ani);
|
err = sysfs_create_group(&dev->kobj, &ath5k_attribute_group_ani);
|
||||||
|
@ -110,7 +110,7 @@ ath5k_sysfs_register(struct ath5k_softc *sc)
|
||||||
void
|
void
|
||||||
ath5k_sysfs_unregister(struct ath5k_softc *sc)
|
ath5k_sysfs_unregister(struct ath5k_softc *sc)
|
||||||
{
|
{
|
||||||
struct device *dev = &sc->pdev->dev;
|
struct device *dev = sc->dev;
|
||||||
|
|
||||||
sysfs_remove_group(&dev->kobj, &ath5k_attribute_group_ani);
|
sysfs_remove_group(&dev->kobj, &ath5k_attribute_group_ani);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue