Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 79d2232f authored by Rafał Miłecki's avatar Rafał Miłecki Committed by John W. Linville
Browse files

b43: bus: abstract board info

parent c244e08c
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -74,6 +74,10 @@ struct b43_bus_dev *b43_bus_dev_ssb_init(struct ssb_device *sdev)
	dev->dma_dev = sdev->dma_dev;
	dev->irq = sdev->irq;

	dev->board_vendor = sdev->bus->boardinfo.vendor;
	dev->board_type = sdev->bus->boardinfo.type;
	dev->board_rev = sdev->bus->boardinfo.rev;

	dev->chip_id = sdev->bus->chip_id;
	dev->chip_rev = sdev->bus->chip_rev;
	dev->chip_pkg = sdev->bus->chip_package;
+4 −0
Original line number Diff line number Diff line
@@ -24,6 +24,10 @@ struct b43_bus_dev {
	struct device *dma_dev;
	unsigned int irq;

	u16 board_vendor;
	u16 board_type;
	u16 board_rev;

	u16 chip_id;
	u8 chip_rev;
	u8 chip_pkg;
+2 −3
Original line number Diff line number Diff line
@@ -215,7 +215,6 @@ static void b43_led_get_sprominfo(struct b43_wldev *dev,
				  enum b43_led_behaviour *behaviour,
				  bool *activelow)
{
	struct ssb_bus *bus = dev->sdev->bus;
	u8 sprom[4];

	sprom[0] = dev->dev->bus_sprom->gpio0;
@@ -231,12 +230,12 @@ static void b43_led_get_sprominfo(struct b43_wldev *dev,
		case 0:
			*behaviour = B43_LED_ACTIVITY;
			*activelow = 1;
			if (bus->boardinfo.vendor == PCI_VENDOR_ID_COMPAQ)
			if (dev->dev->board_vendor == PCI_VENDOR_ID_COMPAQ)
				*behaviour = B43_LED_RADIO_ALL;
			break;
		case 1:
			*behaviour = B43_LED_RADIO_B;
			if (bus->boardinfo.vendor == PCI_VENDOR_ID_ASUSTEK)
			if (dev->dev->board_vendor == PCI_VENDOR_ID_ASUSTEK)
				*behaviour = B43_LED_ASSOC;
			break;
		case 2:
+3 −4
Original line number Diff line number Diff line
@@ -265,7 +265,6 @@ static void hardware_pctl_init_aphy(struct b43_wldev *dev)

void b43_phy_inita(struct b43_wldev *dev)
{
	struct ssb_bus *bus = dev->sdev->bus;
	struct b43_phy *phy = &dev->phy;

	/* This lowlevel A-PHY init is also called from G-PHY init.
@@ -296,9 +295,9 @@ void b43_phy_inita(struct b43_wldev *dev)

		b43_radio_init2060(dev);

		if ((bus->boardinfo.vendor == SSB_BOARDVENDOR_BCM) &&
		    ((bus->boardinfo.type == SSB_BOARD_BU4306) ||
		     (bus->boardinfo.type == SSB_BOARD_BU4309))) {
		if ((dev->dev->board_vendor == SSB_BOARDVENDOR_BCM) &&
		    ((dev->dev->board_type == SSB_BOARD_BU4306) ||
		     (dev->dev->board_type == SSB_BOARD_BU4309))) {
			; //TODO: A PHY LO
		}

+2 −2
Original line number Diff line number Diff line
@@ -368,8 +368,8 @@ void b43_phy_txpower_check(struct b43_wldev *dev, unsigned int flags)
	/* The next check will be needed in two seconds, or later. */
	phy->next_txpwr_check_time = round_jiffies(now + (HZ * 2));

	if ((dev->sdev->bus->boardinfo.vendor == SSB_BOARDVENDOR_BCM) &&
	    (dev->sdev->bus->boardinfo.type == SSB_BOARD_BU4306))
	if ((dev->dev->board_vendor == SSB_BOARDVENDOR_BCM) &&
	    (dev->dev->board_type == SSB_BOARD_BU4306))
		return; /* No software txpower adjustment needed */

	result = phy->ops->recalc_txpower(dev, !!(flags & B43_TXPWR_IGNORE_TSSI));
Loading