Read the card's CISTPL_CFTABLE_ENTRY tuple, and log to the
kernel log buffer. This tuple ought to hold information
about the IO width of the card memory window that can be used
in autoprobing to detect 16 bit datapath cards.

CC: Debian/m68k <debian-68k@lists.debian.org>
Signed-off-by: Michael Schmitz <schmitz...@gmail.com>
---
 drivers/net/ethernet/8390/apne.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/drivers/net/ethernet/8390/apne.c b/drivers/net/ethernet/8390/apne.c
index fe6c834..dd71b10 100644
--- a/drivers/net/ethernet/8390/apne.c
+++ b/drivers/net/ethernet/8390/apne.c
@@ -127,6 +127,8 @@ struct net_device * __init apne_probe(int unit)
 
 #ifndef MANUAL_CONFIG
        char tuple[8];
+       char cftuple[258];
+       int len_cftuple = 0;
 #endif
        int err;
 
@@ -168,6 +170,20 @@ struct net_device * __init apne_probe(int unit)
                free_netdev(dev);
                return ERR_PTR(-ENODEV);
        }
+
+       if ((len_cftuple = pcmcia_copy_tuple(CISTPL_CFTABLE_ENTRY, cftuple, 
256)) < 3) {
+               pr_cont("no cftable entry for card\n");
+               /* XXX: shouldn't we re-enable irq here? */
+       } else {
+               int i;
+
+               pr_info("CFTABLE_ENTRY tuple:\n");
+               for (i=0; i<len_cftuple; i++) {
+                       pr_cont("%hhx ", cftuple[i]);
+                       if (i > 0 && !(i % 10)) pr_cont("\n");                  
+               }
+               pr_cont("\n");
+       }
 #endif
 
        pr_cont("ethernet PCMCIA card inserted\n");
-- 
2.7.4

Reply via email to