summaryrefslogtreecommitdiffstats
path: root/drivers/firewire/core-transaction.c
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2010-06-12 20:30:21 +0200
committerStefan Richter <stefanr@s5r6.in-berlin.de>2010-06-19 13:01:41 +0200
commitdb3c9cc105ee844f6cd7a1beb9926fb8e9a093ae (patch)
tree5fe981b7be4ffb97a506e23836d6c81a61dc8c91 /drivers/firewire/core-transaction.c
parente847cc832bab50aad939a0c30414cd986637564d (diff)
firewire: replace get_features card driver hook
by feature variables in the fw_card struct. The hook appeared to be an unnecessary abstraction in the card driver interface. Cleaner would be to pass those feature flags as arguments to fw_card_initialize() or fw_card_add(), but the FairnessControl register is in the SCLK domain and may therefore not be accessible while Link Power Status is off, i.e. before the card->driver->enable call from fw_card_add(). Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire/core-transaction.c')
-rw-r--r--drivers/firewire/core-transaction.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/firewire/core-transaction.c b/drivers/firewire/core-transaction.c
index 5069cfc75b5..62bf30560a3 100644
--- a/drivers/firewire/core-transaction.c
+++ b/drivers/firewire/core-transaction.c
@@ -1129,8 +1129,7 @@ static void handle_registers(struct fw_card *card, struct fw_request *request,
break;
case CSR_PRIORITY_BUDGET:
- if (!(card->driver->get_features(card) &
- FEATURE_PRIORITY_BUDGET))
+ if (!card->priority_budget_implemented)
rcode = RCODE_ADDRESS_ERROR;
else if (tcode == TCODE_READ_QUADLET_REQUEST)
*data = cpu_to_be32(card->driver->