Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ecab413359541b1dbe8e8c91cb5fa8eafa662c05
Commit:     ecab413359541b1dbe8e8c91cb5fa8eafa662c05
Parent:     bbd1494580462fa35bdd2073dba3902fb53981bf
Author:     Marc Butler <[EMAIL PROTECTED]>
AuthorDate: Fri Mar 23 10:24:02 2007 -0600
Committer:  Stefan Richter <[EMAIL PROTECTED]>
CommitDate: Sat Mar 24 23:29:19 2007 +0100

    firewire: Add phy register defines.
    
    Signed-off-by: Marc Butler <[EMAIL PROTECTED]>
    Signed-off-by: Kristian Høgsberg <[EMAIL PROTECTED]>
    Signed-off-by: Stefan Richter <[EMAIL PROTECTED]> (added whitespace)
---
 drivers/firewire/fw-card.c        |   14 ++++++++++----
 drivers/firewire/fw-transaction.h |    6 ++++++
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/drivers/firewire/fw-card.c b/drivers/firewire/fw-card.c
index d929eb6..34863b6 100644
--- a/drivers/firewire/fw-card.c
+++ b/drivers/firewire/fw-card.c
@@ -395,9 +395,9 @@ fw_card_add(struct fw_card *card,
        card->link_speed = link_speed;
        card->guid = guid;
 
-       /* FIXME: add #define's for phy registers. */
        /* Activate link_on bit and contender bit in our self ID packets.*/
-       if (card->driver->update_phy_reg(card, 4, 0, 0x80 | 0x40) < 0)
+       if (card->driver->update_phy_reg(card, 4, 0,
+                                        PHY_LINK_ACTIVE | PHY_CONTENDER) < 0)
                return -EIO;
 
        /* The subsystem grabs a reference when the card is added and
@@ -483,7 +483,8 @@ static struct fw_card_driver dummy_driver = {
 void
 fw_core_remove_card(struct fw_card *card)
 {
-       card->driver->update_phy_reg(card, 4, 0x80 | 0x40, 0);
+       card->driver->update_phy_reg(card, 4,
+                                    PHY_LINK_ACTIVE | PHY_CONTENDER, 0);
        fw_core_initiate_bus_reset(card, 1);
 
        down_write(&fw_bus_type.subsys.rwsem);
@@ -531,6 +532,11 @@ EXPORT_SYMBOL(fw_card_put);
 int
 fw_core_initiate_bus_reset(struct fw_card *card, int short_reset)
 {
-       return card->driver->update_phy_reg(card, short_reset ? 5 : 1, 0, 0x40);
+       int reg = short_reset ? 5 : 1;
+       /* The following values happen to be the same bit. However be
+        * explicit for clarity. */
+       int bit = short_reset ? PHY_BUS_SHORT_RESET : PHY_BUS_RESET;
+
+       return card->driver->update_phy_reg(card, reg, 0, bit);
 }
 EXPORT_SYMBOL(fw_core_initiate_bus_reset);
diff --git a/drivers/firewire/fw-transaction.h 
b/drivers/firewire/fw-transaction.h
index 6621497..6352734 100644
--- a/drivers/firewire/fw-transaction.h
+++ b/drivers/firewire/fw-transaction.h
@@ -107,6 +107,12 @@
 #define PHY_PACKET_LINK_ON     0x1
 #define PHY_PACKET_SELF_ID     0x2
 
+/* Bit fields _within_ the PHY registers. */
+#define PHY_LINK_ACTIVE                0x80
+#define PHY_CONTENDER          0x40
+#define PHY_BUS_RESET          0x40
+#define PHY_BUS_SHORT_RESET    0x40
+
 #define CSR_REGISTER_BASE              0xfffff0000000ULL
 
 /* register offsets relative to CSR_REGISTER_BASE */
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to