Commit 48bde9c9 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Kalle Valo

rt2x00: convert rt2x00usb_register_read return type

This is a semi-automated conversion to change rt2x00usb_register_read
to return the register contents instead of passing them by value,
resulting in much better object code. The majority of the patch
was done using:

sed -i 's:\(\<rt2x00usb_register_read\>(.*, .*\), &\(.*\));:\2 = \1);:' \
    -i 's:\(\<rt2500usb_register_read\>(.*, .*\), &\(.*\));:\2 = \1);:' \
    -i 's:\(\<rt2500usb_register_read_lock\>(.*, .*\), &\(.*\));:\2 = \1);:' \
	 drivers/net/wireless/ralink/rt2x00/*
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 3954b4e3
...@@ -61,12 +61,12 @@ static void rt2800usb_start_queue(struct data_queue *queue) ...@@ -61,12 +61,12 @@ static void rt2800usb_start_queue(struct data_queue *queue)
switch (queue->qid) { switch (queue->qid) {
case QID_RX: case QID_RX:
rt2x00usb_register_read(rt2x00dev, MAC_SYS_CTRL, &reg); reg = rt2x00usb_register_read(rt2x00dev, MAC_SYS_CTRL);
rt2x00_set_field32(&reg, MAC_SYS_CTRL_ENABLE_RX, 1); rt2x00_set_field32(&reg, MAC_SYS_CTRL_ENABLE_RX, 1);
rt2x00usb_register_write(rt2x00dev, MAC_SYS_CTRL, reg); rt2x00usb_register_write(rt2x00dev, MAC_SYS_CTRL, reg);
break; break;
case QID_BEACON: case QID_BEACON:
rt2x00usb_register_read(rt2x00dev, BCN_TIME_CFG, &reg); reg = rt2x00usb_register_read(rt2x00dev, BCN_TIME_CFG);
rt2x00_set_field32(&reg, BCN_TIME_CFG_TSF_TICKING, 1); rt2x00_set_field32(&reg, BCN_TIME_CFG_TSF_TICKING, 1);
rt2x00_set_field32(&reg, BCN_TIME_CFG_TBTT_ENABLE, 1); rt2x00_set_field32(&reg, BCN_TIME_CFG_TBTT_ENABLE, 1);
rt2x00_set_field32(&reg, BCN_TIME_CFG_BEACON_GEN, 1); rt2x00_set_field32(&reg, BCN_TIME_CFG_BEACON_GEN, 1);
...@@ -84,12 +84,12 @@ static void rt2800usb_stop_queue(struct data_queue *queue) ...@@ -84,12 +84,12 @@ static void rt2800usb_stop_queue(struct data_queue *queue)
switch (queue->qid) { switch (queue->qid) {
case QID_RX: case QID_RX:
rt2x00usb_register_read(rt2x00dev, MAC_SYS_CTRL, &reg); reg = rt2x00usb_register_read(rt2x00dev, MAC_SYS_CTRL);
rt2x00_set_field32(&reg, MAC_SYS_CTRL_ENABLE_RX, 0); rt2x00_set_field32(&reg, MAC_SYS_CTRL_ENABLE_RX, 0);
rt2x00usb_register_write(rt2x00dev, MAC_SYS_CTRL, reg); rt2x00usb_register_write(rt2x00dev, MAC_SYS_CTRL, reg);
break; break;
case QID_BEACON: case QID_BEACON:
rt2x00usb_register_read(rt2x00dev, BCN_TIME_CFG, &reg); reg = rt2x00usb_register_read(rt2x00dev, BCN_TIME_CFG);
rt2x00_set_field32(&reg, BCN_TIME_CFG_TSF_TICKING, 0); rt2x00_set_field32(&reg, BCN_TIME_CFG_TSF_TICKING, 0);
rt2x00_set_field32(&reg, BCN_TIME_CFG_TBTT_ENABLE, 0); rt2x00_set_field32(&reg, BCN_TIME_CFG_TBTT_ENABLE, 0);
rt2x00_set_field32(&reg, BCN_TIME_CFG_BEACON_GEN, 0); rt2x00_set_field32(&reg, BCN_TIME_CFG_BEACON_GEN, 0);
...@@ -333,7 +333,7 @@ static int rt2800usb_init_registers(struct rt2x00_dev *rt2x00dev) ...@@ -333,7 +333,7 @@ static int rt2800usb_init_registers(struct rt2x00_dev *rt2x00dev)
if (rt2800_wait_csr_ready(rt2x00dev)) if (rt2800_wait_csr_ready(rt2x00dev))
return -EBUSY; return -EBUSY;
rt2x00usb_register_read(rt2x00dev, PBF_SYS_CTRL, &reg); reg = rt2x00usb_register_read(rt2x00dev, PBF_SYS_CTRL);
rt2x00usb_register_write(rt2x00dev, PBF_SYS_CTRL, reg & ~0x00002000); rt2x00usb_register_write(rt2x00dev, PBF_SYS_CTRL, reg & ~0x00002000);
reg = 0; reg = 0;
...@@ -802,8 +802,8 @@ static const struct ieee80211_ops rt2800usb_mac80211_ops = { ...@@ -802,8 +802,8 @@ static const struct ieee80211_ops rt2800usb_mac80211_ops = {
}; };
static const struct rt2800_ops rt2800usb_rt2800_ops = { static const struct rt2800_ops rt2800usb_rt2800_ops = {
.register_read = _rt2x00usb_register_read, .register_read = rt2x00usb_register_read,
.register_read_lock = _rt2x00usb_register_read_lock, .register_read_lock = rt2x00usb_register_read_lock,
.register_write = rt2x00usb_register_write, .register_write = rt2x00usb_register_write,
.register_write_lock = rt2x00usb_register_write_lock, .register_write_lock = rt2x00usb_register_write_lock,
.register_multiread = rt2x00usb_register_multiread, .register_multiread = rt2x00usb_register_multiread,
......
...@@ -145,7 +145,7 @@ int rt2x00usb_regbusy_read(struct rt2x00_dev *rt2x00dev, ...@@ -145,7 +145,7 @@ int rt2x00usb_regbusy_read(struct rt2x00_dev *rt2x00dev,
return -ENODEV; return -ENODEV;
for (i = 0; i < REGISTER_USB_BUSY_COUNT; i++) { for (i = 0; i < REGISTER_USB_BUSY_COUNT; i++) {
rt2x00usb_register_read_lock(rt2x00dev, offset, reg); *reg = rt2x00usb_register_read_lock(rt2x00dev, offset);
if (!rt2x00_get_field32(*reg, field)) if (!rt2x00_get_field32(*reg, field))
return 1; return 1;
udelay(REGISTER_BUSY_DELAY); udelay(REGISTER_BUSY_DELAY);
......
...@@ -190,23 +190,11 @@ static inline int rt2x00usb_eeprom_read(struct rt2x00_dev *rt2x00dev, ...@@ -190,23 +190,11 @@ static inline int rt2x00usb_eeprom_read(struct rt2x00_dev *rt2x00dev,
* rt2x00usb_register_read - Read 32bit register word * rt2x00usb_register_read - Read 32bit register word
* @rt2x00dev: Device pointer, see &struct rt2x00_dev. * @rt2x00dev: Device pointer, see &struct rt2x00_dev.
* @offset: Register offset * @offset: Register offset
* @value: Pointer to where register contents should be stored
* *
* This function is a simple wrapper for 32bit register access * This function is a simple wrapper for 32bit register access
* through rt2x00usb_vendor_request_buff(). * through rt2x00usb_vendor_request_buff().
*/ */
static inline void rt2x00usb_register_read(struct rt2x00_dev *rt2x00dev, static inline u32 rt2x00usb_register_read(struct rt2x00_dev *rt2x00dev,
const unsigned int offset,
u32 *value)
{
__le32 reg = 0;
rt2x00usb_vendor_request_buff(rt2x00dev, USB_MULTI_READ,
USB_VENDOR_REQUEST_IN, offset,
&reg, sizeof(reg));
*value = le32_to_cpu(reg);
}
static inline u32 _rt2x00usb_register_read(struct rt2x00_dev *rt2x00dev,
const unsigned int offset) const unsigned int offset)
{ {
__le32 reg = 0; __le32 reg = 0;
...@@ -220,23 +208,11 @@ static inline u32 _rt2x00usb_register_read(struct rt2x00_dev *rt2x00dev, ...@@ -220,23 +208,11 @@ static inline u32 _rt2x00usb_register_read(struct rt2x00_dev *rt2x00dev,
* rt2x00usb_register_read_lock - Read 32bit register word * rt2x00usb_register_read_lock - Read 32bit register word
* @rt2x00dev: Device pointer, see &struct rt2x00_dev. * @rt2x00dev: Device pointer, see &struct rt2x00_dev.
* @offset: Register offset * @offset: Register offset
* @value: Pointer to where register contents should be stored
* *
* This function is a simple wrapper for 32bit register access * This function is a simple wrapper for 32bit register access
* through rt2x00usb_vendor_req_buff_lock(). * through rt2x00usb_vendor_req_buff_lock().
*/ */
static inline void rt2x00usb_register_read_lock(struct rt2x00_dev *rt2x00dev, static inline u32 rt2x00usb_register_read_lock(struct rt2x00_dev *rt2x00dev,
const unsigned int offset,
u32 *value)
{
__le32 reg = 0;
rt2x00usb_vendor_req_buff_lock(rt2x00dev, USB_MULTI_READ,
USB_VENDOR_REQUEST_IN, offset,
&reg, sizeof(reg), REGISTER_TIMEOUT);
*value = le32_to_cpu(reg);
}
static inline u32 _rt2x00usb_register_read_lock(struct rt2x00_dev *rt2x00dev,
const unsigned int offset) const unsigned int offset)
{ {
__le32 reg = 0; __le32 reg = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment