mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-08 14:54:23 +08:00
b8ebbaff03
There are bcma based devices like the Linksys E2000 out there, which do have one ieee80211 core, but no PCIe core and they are using no prefixes for the sprom. In addition some values like boardtype are stored without a prefix for the main SoC chip also when they have an additional PCIe wifi chip with an own boardtype var on some devices. The Ethernet addresses are now also read out correctly without a prefix so calling bcm47xx_fill_sprom_ethernet is not needed any more. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Patchwork: http://patchwork.linux-mips.org/patch/4364 Signed-off-by: John Crispin <blogic@openwrt.org>
60 lines
1.6 KiB
C
60 lines
1.6 KiB
C
/*
|
|
* Copyright (C) 2007 Aurelien Jarno <aurelien@aurel32.net>
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
*/
|
|
|
|
#ifndef __ASM_BCM47XX_H
|
|
#define __ASM_BCM47XX_H
|
|
|
|
#include <linux/ssb/ssb.h>
|
|
#include <linux/bcma/bcma.h>
|
|
#include <linux/bcma/bcma_soc.h>
|
|
|
|
enum bcm47xx_bus_type {
|
|
#ifdef CONFIG_BCM47XX_SSB
|
|
BCM47XX_BUS_TYPE_SSB,
|
|
#endif
|
|
#ifdef CONFIG_BCM47XX_BCMA
|
|
BCM47XX_BUS_TYPE_BCMA,
|
|
#endif
|
|
};
|
|
|
|
union bcm47xx_bus {
|
|
#ifdef CONFIG_BCM47XX_SSB
|
|
struct ssb_bus ssb;
|
|
#endif
|
|
#ifdef CONFIG_BCM47XX_BCMA
|
|
struct bcma_soc bcma;
|
|
#endif
|
|
};
|
|
|
|
extern union bcm47xx_bus bcm47xx_bus;
|
|
extern enum bcm47xx_bus_type bcm47xx_bus_type;
|
|
|
|
void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
|
|
bool fallback);
|
|
|
|
#ifdef CONFIG_BCM47XX_SSB
|
|
void bcm47xx_fill_ssb_boardinfo(struct ssb_boardinfo *boardinfo,
|
|
const char *prefix);
|
|
#endif
|
|
#ifdef CONFIG_BCM47XX_BCMA
|
|
void bcm47xx_fill_bcma_boardinfo(struct bcma_boardinfo *boardinfo,
|
|
const char *prefix);
|
|
#endif
|
|
|
|
#endif /* __ASM_BCM47XX_H */
|