pci.c (50d1e9302bab7d35dae7146f8c468e0943015616) pci.c (da1fdb02d9200ff28b6f3a380d21930335fe5429)
1/*
2 * Sonics Silicon Backplane PCI-Hostbus related functions.
3 *
4 * Copyright (C) 2005-2006 Michael Buesch <mb@bu3sch.de>
5 * Copyright (C) 2005 Martin Langer <martin-langer@gmx.de>
6 * Copyright (C) 2005 Stefano Brivio <st3@riseup.net>
7 * Copyright (C) 2005 Danny van Dyk <kugelfang@gentoo.org>
8 * Copyright (C) 2005 Andreas Jaggi <andreas.jaggi@waterwave.ch>

--- 611 unchanged lines hidden (view full) ---

620 const struct ssb_sprom *fallback;
621 int err = -ENOMEM;
622 u16 *buf;
623
624 if (!ssb_is_sprom_available(bus)) {
625 ssb_printk(KERN_ERR PFX "No SPROM available!\n");
626 return -ENODEV;
627 }
1/*
2 * Sonics Silicon Backplane PCI-Hostbus related functions.
3 *
4 * Copyright (C) 2005-2006 Michael Buesch <mb@bu3sch.de>
5 * Copyright (C) 2005 Martin Langer <martin-langer@gmx.de>
6 * Copyright (C) 2005 Stefano Brivio <st3@riseup.net>
7 * Copyright (C) 2005 Danny van Dyk <kugelfang@gentoo.org>
8 * Copyright (C) 2005 Andreas Jaggi <andreas.jaggi@waterwave.ch>

--- 611 unchanged lines hidden (view full) ---

620 const struct ssb_sprom *fallback;
621 int err = -ENOMEM;
622 u16 *buf;
623
624 if (!ssb_is_sprom_available(bus)) {
625 ssb_printk(KERN_ERR PFX "No SPROM available!\n");
626 return -ENODEV;
627 }
628 if (bus->chipco.dev) { /* can be unavailible! */
629 bus->sprom_offset = (bus->chipco.dev->id.revision < 31) ?
630 SSB_SPROM_BASE1 : SSB_SPROM_BASE31;
631 } else {
632 bus->sprom_offset = SSB_SPROM_BASE1;
633 }
628
634
629 bus->sprom_offset = (bus->chipco.dev->id.revision < 31) ?
630 SSB_SPROM_BASE1 : SSB_SPROM_BASE31;
631
632 buf = kcalloc(SSB_SPROMSIZE_WORDS_R123, sizeof(u16), GFP_KERNEL);
633 if (!buf)
634 goto out;
635 bus->sprom_size = SSB_SPROMSIZE_WORDS_R123;
636 sprom_do_read(bus, buf);
637 err = sprom_check_crc(buf, bus->sprom_size);
638 if (err) {
639 /* try for a 440 byte SPROM - revision 4 and higher */

--- 296 unchanged lines hidden ---
635 buf = kcalloc(SSB_SPROMSIZE_WORDS_R123, sizeof(u16), GFP_KERNEL);
636 if (!buf)
637 goto out;
638 bus->sprom_size = SSB_SPROMSIZE_WORDS_R123;
639 sprom_do_read(bus, buf);
640 err = sprom_check_crc(buf, bus->sprom_size);
641 if (err) {
642 /* try for a 440 byte SPROM - revision 4 and higher */

--- 296 unchanged lines hidden ---