Commit 5822e070 authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz Committed by John W. Linville
Browse files

rt2x00: add support for different chipset interfaces



Enhance rt2x00 infrastructure by adding explicit information
about used chipset interface to struct rt2x00_chip.

The new field will be used by rt2800 drivers for rt2800 library.

Also add commonly used rt2x00_intf_is_pci() and rt2x00_intf_is_usb()
helpers to make code easier to read (noticed by Ivo van Doorn).

Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Acked-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
Acked-by: default avatarGertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent a4385213
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -144,6 +144,11 @@ struct avg_val {
	int avg_weight;
};

enum rt2x00_chip_intf {
	RT2X00_CHIP_INTF_PCI,
	RT2X00_CHIP_INTF_USB,
};

/*
 * Chipset identification
 * The chipset on the device is composed of a RT and RF chip.
@@ -169,6 +174,8 @@ struct rt2x00_chip {

	u16 rf;
	u32 rev;

	enum rt2x00_chip_intf intf;
};

/*
@@ -937,6 +944,28 @@ static inline bool rt2x00_check_rev(const struct rt2x00_chip *chipset,
	return ((chipset->rev & mask) == rev);
}

static inline void rt2x00_set_chip_intf(struct rt2x00_dev *rt2x00dev,
					enum rt2x00_chip_intf intf)
{
	rt2x00dev->chip.intf = intf;
}

static inline bool rt2x00_intf(const struct rt2x00_chip *chipset,
			       enum rt2x00_chip_intf intf)
{
	return (chipset->intf == intf);
}

static inline bool rt2x00_intf_is_pci(struct rt2x00_dev *rt2x00dev)
{
	return rt2x00_intf(&rt2x00dev->chip, RT2X00_CHIP_INTF_PCI);
}

static inline bool rt2x00_intf_is_usb(struct rt2x00_dev *rt2x00dev)
{
	return rt2x00_intf(&rt2x00dev->chip, RT2X00_CHIP_INTF_USB);
}

/**
 * rt2x00queue_map_txskb - Map a skb into DMA for TX purposes.
 * @rt2x00dev: Pointer to &struct rt2x00_dev.