Hi Lothar,

Please find below the patch, which adds isp116x-specific
stuff to your ohci-1362.h. Apply it AFTER you have Lindented
your file.

A new macro CHIP_TYPE must now be defined. I added a chip
type field to the ISP1362_REG definition so that with
debugging on, HC_ISP1362_WRITE_ADDR will catch attempts to
access reserved registers for a given chip.

Olav



--- linux-2.6.8.1-isp1362-tmp0/drivers/usb/host/ohci-isp1362.h  2004-09-16 
13:30:20.000000000 +0300
+++ linux-2.6.8.1-isp1362-last/drivers/usb/host/ohci-isp1362.h  2004-09-16 
13:45:31.000000000 +0300
@@ -33,18 +33,22 @@
 #define REG_ACCESS_M   0x800   // reg needs to be merged with shadow reg
 #define REG_ACCESS_MASK        0x600

+#define CHIP_TYPE_ISP1362      0x1000
+#define CHIP_TYPE_ISP116x      0x2000
+#define CHIP_TYPE_MASK         0x3000
+
 #define ISP1362_BUF_SIZE               4096
 #define ISP1362_REG_WRITE_OFFSET       0x80

 #ifdef DEBUG
 typedef const unsigned int isp1362_reg_t;
 #define _BUG_ON(x) BUG_ON(x)
-#define ISP1362_REG(name,addr,width,rw)                                        \
-static isp1362_reg_t ISP1362_REG_##name = ((addr) | (width) | (rw));
+#define ISP1362_REG(name,addr,width,rw,chip)                   \
+static isp1362_reg_t ISP1362_REG_##name = ((addr) | (width) | (rw) | (chip));
 #else
 typedef const unsigned char isp1362_reg_t;
 #define _BUG_ON(x) do {} while(0)
-#define ISP1362_REG(name,addr,width,rw)                                        \
+#define ISP1362_REG(name,addr,width,rw,chip)                   \
 static isp1362_reg_t ISP1362_REG_##name = addr;
 #endif

@@ -56,31 +60,50 @@ static isp1362_reg_t ISP1362_REG_##name
  * are not defined in the ISP1362 controller register.
  * Those registers have to be read/written with the ohci_{read|write}_masked() 
functions.
  * Bitmasks for the individual bits of these registers are defined in "ohci.h"
+ *
+ * ISP116x implements exactly the same bits as ISP1362
+ * in these registers.
  */
-ISP1362_REG(HCREVISION, 0x00, REG_WIDTH_32, REG_ACCESS_R);
-ISP1362_REG(HCCONTROL, 0x01, REG_WIDTH_32, REG_ACCESS_RW | REG_ACCESS_M);
+ISP1362_REG(HCREVISION, 0x00, REG_WIDTH_32, REG_ACCESS_R,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
+ISP1362_REG(HCCONTROL, 0x01, REG_WIDTH_32, REG_ACCESS_RW | REG_ACCESS_M,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
 #define ISP1362_MASK_HCCONTROL (OHCI_CTRL_HCFS | OHCI_CTRL_RWE | OHCI_CTRL_RWC)
-ISP1362_REG(HCCMDSTAT, 0x02, REG_WIDTH_32, REG_ACCESS_RW | REG_ACCESS_M);
+ISP1362_REG(HCCMDSTAT, 0x02, REG_WIDTH_32, REG_ACCESS_RW | REG_ACCESS_M,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
 #define ISP1362_MASK_HCCMDSTAT (OHCI_HCR | OHCI_SOC)
-ISP1362_REG(HCINTSTAT, 0x03, REG_WIDTH_32, REG_ACCESS_RW | REG_ACCESS_M);
+ISP1362_REG(HCINTSTAT, 0x03, REG_WIDTH_32, REG_ACCESS_RW | REG_ACCESS_M,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
 #define ISP1362_MASK_HCINTSTAT (OHCI_INTR_SO | OHCI_INTR_SF | OHCI_INTR_RD | 
OHCI_INTR_UE | OHCI_INTR_FNO | OHCI_INTR_RHSC)
-ISP1362_REG(HCINTENB, 0x04, REG_WIDTH_32, REG_ACCESS_RW | REG_ACCESS_M);
+ISP1362_REG(HCINTENB, 0x04, REG_WIDTH_32, REG_ACCESS_RW | REG_ACCESS_M,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
 #define ISP1362_MASK_HCINTENB  (ISP1362_MASK_HCINTSTAT | OHCI_INTR_MIE)
-ISP1362_REG(HCINTDIS, 0x05, REG_WIDTH_32, REG_ACCESS_RW | REG_ACCESS_M);
+ISP1362_REG(HCINTDIS, 0x05, REG_WIDTH_32, REG_ACCESS_RW | REG_ACCESS_M,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
 // OHCI_INTR_SF is required for internal housekeeping and shouldn't be disabled by 
OHCI layer
 #define ISP1362_MASK_HCINTDIS  (ISP1362_MASK_HCINTENB & ~OHCI_INTR_SF)
-ISP1362_REG(HCFMINTVL, 0x0d, REG_WIDTH_32, REG_ACCESS_RW);
-ISP1362_REG(HCFMREM, 0x0e, REG_WIDTH_32, REG_ACCESS_RW);
-ISP1362_REG(HCFMNUM, 0x0f, REG_WIDTH_32, REG_ACCESS_RW);
-ISP1362_REG(HCLSTHRESH, 0x11, REG_WIDTH_32, REG_ACCESS_RW);
-ISP1362_REG(HCRHDESCA, 0x12, REG_WIDTH_32, REG_ACCESS_RW);
-ISP1362_REG(HCRHDESCB, 0x13, REG_WIDTH_32, REG_ACCESS_RW);
-ISP1362_REG(HCRHSTATUS, 0x14, REG_WIDTH_32, REG_ACCESS_RW);
-ISP1362_REG(HCRHPORT1, 0x15, REG_WIDTH_32, REG_ACCESS_RW);
-ISP1362_REG(HCRHPORT2, 0x16, REG_WIDTH_32, REG_ACCESS_RW);
+ISP1362_REG(HCFMINTVL, 0x0d, REG_WIDTH_32, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
+ISP1362_REG(HCFMREM, 0x0e, REG_WIDTH_32, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
+ISP1362_REG(HCFMNUM, 0x0f, REG_WIDTH_32, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
+ISP1362_REG(HCLSTHRESH, 0x11, REG_WIDTH_32, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
+ISP1362_REG(HCRHDESCA, 0x12, REG_WIDTH_32, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
+ISP1362_REG(HCRHDESCB, 0x13, REG_WIDTH_32, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
+ISP1362_REG(HCRHSTATUS, 0x14, REG_WIDTH_32, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
+ISP1362_REG(HCRHPORT1, 0x15, REG_WIDTH_32, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
+ISP1362_REG(HCRHPORT2, 0x16, REG_WIDTH_32, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);

 // Philips ISP1362 specific registers
-ISP1362_REG(HCHWCFG, 0x20, REG_WIDTH_16, REG_ACCESS_RW);
+ISP1362_REG(HCHWCFG, 0x20, REG_WIDTH_16, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
 #define HCHWCFG_DISABLE_SUSPEND        (1 << 15)
 #define HCHWCFG_GLOBAL_PWRDOWN (1 << 14)
 #define HCHWCFG_PULLDOWN_DS1   (1 << 13)
@@ -98,7 +121,11 @@ ISP1362_REG(HCHWCFG, 0x20, REG_WIDTH_16,
 #define HCHWCFG_INT_TRIGGER    (1 << 1)
 #define HCHWCFG_INT_ENABLE     (1 << 0)

-ISP1362_REG(HCDMACFG, 0x21, REG_WIDTH_16, REG_ACCESS_RW);
+#define HCHWCFG_ISP116x_RESERVED       0xe200  // 116x
+#define HCHWCFG_15KRSEL                (1 << 12)       // 116x
+
+ISP1362_REG(HCDMACFG, 0x21, REG_WIDTH_16, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
 #define HCDMACFG_CTR_ENABLE    (1 << 7)
 #define HCDMACFG_BURST_LEN_MASK        (0x03 << 5)
 #define HCDMACFG_BURST_LEN(n)  (((n) << 5) & HCDMACFG_BURST_LEN_MASK)
@@ -115,9 +142,15 @@ ISP1362_REG(HCDMACFG, 0x21, REG_WIDTH_16
 #define HCDMACFG_BUF_DIRECT    HCDMACFG_BUF_TYPE(4)
 #define HCDMACFG_DMA_RW_SELECT (1 << 0)

-ISP1362_REG(HCXFERCTR, 0x22, REG_WIDTH_16, REG_ACCESS_RW);
+#define HCDMACFG_ISP116x_RESERVED      0xff88  // 116x
+#define HCDMACFG_CTR_SEL       (1 << 2)        // 116x
+#define HCDMACFG_ITLATL_SEL    (1 << 1)        // 116x
+
+ISP1362_REG(HCXFERCTR, 0x22, REG_WIDTH_16, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);

-ISP1362_REG(HCuPINT, 0x24, REG_WIDTH_16, REG_ACCESS_RW);
+ISP1362_REG(HCuPINT, 0x24, REG_WIDTH_16, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
 #define HCuPINT_SOF            (1 << 0)
 #define HCuPINT_ISTL0          (1 << 1)
 #define HCuPINT_ISTL1          (1 << 2)
@@ -127,21 +160,36 @@ ISP1362_REG(HCuPINT, 0x24, REG_WIDTH_16,
 #define HCuPINT_CLKRDY         (1 << 6)
 #define HCuPINT_INTL           (1 << 7)
 #define HCuPINT_ATL            (1 << 8)
-#define HCuPINT_OTG            (1 << 9)
+#define        HCuPINT_OTG             (1 << 9)

-ISP1362_REG(HCuPINTENB, 0x25, REG_WIDTH_16, REG_ACCESS_RW);
+#define        HCuPINT_ISP116x_RESERVED        0xff88  // 116x
+#define        HCuPINT_ISP116x_AIIEOT  (1 << 2)        // 116x
+#define        HCuPINT_ISP116x_ATL     (1 << 1)        // 116x
+
+ISP1362_REG(HCuPINTENB, 0x25, REG_WIDTH_16, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
 // same bit definitions apply as for HCuPINT
+#define        HCuPINTENB_ISP116x_RESERVED     HCuPINT_ISP116x_RESERVED        // 116x

-ISP1362_REG(HCCHIPID, 0x27, REG_WIDTH_16, REG_ACCESS_R);
+ISP1362_REG(HCCHIPID, 0x27, REG_WIDTH_16, REG_ACCESS_R,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
 #define HCCHIPID_MASK          0xff00
 #define HCCHIPID_MAGIC         0x3600
+#define        HCCHIPID_ISP116x_MAGIC  0x6100  // 116x

-ISP1362_REG(HCSCRATCH, 0x28, REG_WIDTH_16, REG_ACCESS_RW);
+ISP1362_REG(HCSCRATCH, 0x28, REG_WIDTH_16, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);

-ISP1362_REG(HCSWRES, 0x29, REG_WIDTH_16, REG_ACCESS_W);
+ISP1362_REG(HCSWRES, 0x29, REG_WIDTH_16, REG_ACCESS_W,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
 #define HCSWRES_MAGIC          0x00f6

-ISP1362_REG(HCBUFSTAT, 0x2c, REG_WIDTH_16, REG_ACCESS_RW);
+ISP1362_REG(HCITLBUFLEN, 0x2a, REG_WIDTH_16, REG_ACCESS_RW, CHIP_TYPE_ISP116x);       
 // 116x
+
+ISP1362_REG(HCATLBUFLEN, 0x2b, REG_WIDTH_16, REG_ACCESS_RW, CHIP_TYPE_ISP116x);       
 // 116x
+
+ISP1362_REG(HCBUFSTAT, 0x2c, REG_WIDTH_16, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
 #define HCBUFSTAT_ISTL0_FULL   (1 << 0)
 #define HCBUFSTAT_ISTL1_FULL   (1 << 1)
 #define HCBUFSTAT_INTL_ACTIVE  (1 << 2)
@@ -153,38 +201,52 @@ ISP1362_REG(HCBUFSTAT, 0x2c, REG_WIDTH_1
 #define HCBUFSTAT_ISTL1_DONE   (1 << 9)
 #define HCBUFSTAT_PAIRED_PTDPP (1 << 10)

-ISP1362_REG(HCDIRADDR, 0x32, REG_WIDTH_32, REG_ACCESS_RW);
+#define        HCBUFSTAT_ISP116x_RESERVED  0xffc0      // 116x
+#define        HCBUFSTAT_ISP116x_ITL0_FULL     (1 << 0)        // 116x
+#define        HCBUFSTAT_ISP116x_ITL1_FULL     (1 << 1)        // 116x
+#define        HCBUFSTAT_ISP116x_ATL_FULL      (1 << 2)        // 116x
+#define        HCBUFSTAT_ISP116x_ITL0_DONE     (1 << 3)        // 116x
+#define        HCBUFSTAT_ISP116x_ITL1_DONE     (1 << 4)        // 116x
+#define        HCBUFSTAT_ISP116x_ATL_DONE      (1 << 5)        // 116x
+
+ISP1362_REG(HCRDITL0LEN, 0x2d, REG_WIDTH_16, REG_ACCESS_R, CHIP_TYPE_ISP116x); // 116x
+
+ISP1362_REG(HCRDITL1LEN, 0x2e, REG_WIDTH_16, REG_ACCESS_R, CHIP_TYPE_ISP116x); // 116x
+
+ISP1362_REG(HCDIRADDR, 0x32, REG_WIDTH_32, REG_ACCESS_RW, CHIP_TYPE_ISP1362);
 #define _HCDIRADDR_ADDR                Fld(16, 0)
 #define HCDIRADDR_ADDR_MASK    FMsk(_HCDIRADDR_ADDR)
 #define HCDIRADDR_ADDR(n)      (FInsrt(n, _HCDIRADDR_ADDR) & FMsk(_HCDIRADDR_ADDR))
 #define _HCDIRADDR_COUNT               Fld(16, 16)
 #define HCDIRADDR_COUNT_MASK   FMsk(_HCDIRADDR_COUNT)
 #define HCDIRADDR_COUNT(n)     (FInsrt(n, _HCDIRADDR_COUNT) & FMsk(_HCDIRADDR_COUNT))
-ISP1362_REG(HCDIRDATA, 0x45, REG_WIDTH_16, REG_ACCESS_RW);
+ISP1362_REG(HCDIRDATA, 0x45, REG_WIDTH_16, REG_ACCESS_RW, CHIP_TYPE_ISP1362);

-ISP1362_REG(HCISTLBUFSZ, 0x30, REG_WIDTH_16, REG_ACCESS_RW);
-ISP1362_REG(HCISTL0PORT, 0x40, REG_WIDTH_16, REG_ACCESS_RW);
-ISP1362_REG(HCISTL1PORT, 0x42, REG_WIDTH_16, REG_ACCESS_RW);
-ISP1362_REG(HCISTLRATE, 0x47, REG_WIDTH_16, REG_ACCESS_RW);
-
-ISP1362_REG(HCINTLBUFSZ, 0x33, REG_WIDTH_16, REG_ACCESS_RW);
-ISP1362_REG(HCINTLPORT, 0x43, REG_WIDTH_16, REG_ACCESS_RW);
-ISP1362_REG(HCINTLBLKSZ, 0x53, REG_WIDTH_16, REG_ACCESS_RW);
-ISP1362_REG(HCINTLDONE, 0x17, REG_WIDTH_32, REG_ACCESS_R);
-ISP1362_REG(HCINTLSKIP, 0x18, REG_WIDTH_32, REG_ACCESS_RW);
-ISP1362_REG(HCINTLLAST, 0x19, REG_WIDTH_32, REG_ACCESS_RW);
-ISP1362_REG(HCINTLCURR, 0x1a, REG_WIDTH_16, REG_ACCESS_R);
-
-ISP1362_REG(HCATLBUFSZ, 0x34, REG_WIDTH_16, REG_ACCESS_RW);
-ISP1362_REG(HCATLPORT, 0x44, REG_WIDTH_16, REG_ACCESS_RW);
-ISP1362_REG(HCATLBLKSZ, 0x54, REG_WIDTH_16, REG_ACCESS_RW);
-ISP1362_REG(HCATLDONE, 0x1b, REG_WIDTH_32, REG_ACCESS_R);
-ISP1362_REG(HCATLSKIP, 0x1c, REG_WIDTH_32, REG_ACCESS_RW);
-ISP1362_REG(HCATLLAST, 0x1d, REG_WIDTH_32, REG_ACCESS_RW);
-ISP1362_REG(HCATLCURR, 0x1e, REG_WIDTH_16, REG_ACCESS_R);
+ISP1362_REG(HCISTLBUFSZ, 0x30, REG_WIDTH_16, REG_ACCESS_RW, CHIP_TYPE_ISP1362);
+ISP1362_REG(HCISTL0PORT, 0x40, REG_WIDTH_16, REG_ACCESS_RW,
+           CHIP_TYPE_ISP1362 | CHIP_TYPE_ISP116x);
+ISP1362_REG(HCATLPORT_ISP116x, 0x41, REG_WIDTH_16, REG_ACCESS_RW, CHIP_TYPE_ISP116x); 
 // 116x
+ISP1362_REG(HCISTL1PORT, 0x42, REG_WIDTH_16, REG_ACCESS_RW, CHIP_TYPE_ISP1362);
+ISP1362_REG(HCISTLRATE, 0x47, REG_WIDTH_16, REG_ACCESS_RW, CHIP_TYPE_ISP1362);
+
+ISP1362_REG(HCINTLBUFSZ, 0x33, REG_WIDTH_16, REG_ACCESS_RW, CHIP_TYPE_ISP1362);
+ISP1362_REG(HCINTLPORT, 0x43, REG_WIDTH_16, REG_ACCESS_RW, CHIP_TYPE_ISP1362);
+ISP1362_REG(HCINTLBLKSZ, 0x53, REG_WIDTH_16, REG_ACCESS_RW, CHIP_TYPE_ISP1362);
+ISP1362_REG(HCINTLDONE, 0x17, REG_WIDTH_32, REG_ACCESS_R, CHIP_TYPE_ISP1362);
+ISP1362_REG(HCINTLSKIP, 0x18, REG_WIDTH_32, REG_ACCESS_RW, CHIP_TYPE_ISP1362);
+ISP1362_REG(HCINTLLAST, 0x19, REG_WIDTH_32, REG_ACCESS_RW, CHIP_TYPE_ISP1362);
+ISP1362_REG(HCINTLCURR, 0x1a, REG_WIDTH_16, REG_ACCESS_R, CHIP_TYPE_ISP1362);
+
+ISP1362_REG(HCATLBUFSZ, 0x34, REG_WIDTH_16, REG_ACCESS_RW, CHIP_TYPE_ISP1362);
+ISP1362_REG(HCATLPORT, 0x44, REG_WIDTH_16, REG_ACCESS_RW, CHIP_TYPE_ISP1362);
+ISP1362_REG(HCATLBLKSZ, 0x54, REG_WIDTH_16, REG_ACCESS_RW, CHIP_TYPE_ISP1362);
+ISP1362_REG(HCATLDONE, 0x1b, REG_WIDTH_32, REG_ACCESS_R, CHIP_TYPE_ISP1362);
+ISP1362_REG(HCATLSKIP, 0x1c, REG_WIDTH_32, REG_ACCESS_RW, CHIP_TYPE_ISP1362);
+ISP1362_REG(HCATLLAST, 0x1d, REG_WIDTH_32, REG_ACCESS_RW, CHIP_TYPE_ISP1362);
+ISP1362_REG(HCATLCURR, 0x1e, REG_WIDTH_16, REG_ACCESS_R, CHIP_TYPE_ISP1362);

-ISP1362_REG(HCATLDTC, 0x51, REG_WIDTH_16, REG_ACCESS_RW);
-ISP1362_REG(HCATLDTCTO, 0x52, REG_WIDTH_16, REG_ACCESS_RW);
+ISP1362_REG(HCATLDTC, 0x51, REG_WIDTH_16, REG_ACCESS_RW, CHIP_TYPE_ISP1362);
+ISP1362_REG(HCATLDTCTO, 0x52, REG_WIDTH_16, REG_ACCESS_RW, CHIP_TYPE_ISP1362);

 /*
  * define initial values for the HW configuration registers
@@ -204,6 +266,7 @@ ISP1362_REG(HCATLDTCTO, 0x52, REG_WIDTH_
 #define HCDMACFG_INIT_VAL      (HCDMACFG_BUF_DIRECT | HCDMACFG_BURST_LEN_4)

 #define CAN_USE_32BIT  1
+#define CHIP_TYPE       CHIP_TYPE_ISP1362

 #else
 #error Specify appropriate initialization values for HW configuration registers
@@ -251,6 +314,10 @@ struct ptd {
 #define _PTD_LAST_ISO          Fld(1, 3)
 #define PTD_LAST_ISO(v)                FInsrt(v, _PTD_LAST_ISO)
 #define PTD_GET_LAST_ISO(p)    FExtr((p)->ep_spd, _PTD_LAST_ISO)
+// For 116x, this bit is both for ITL and ATL
+#define _PTD_LAST              Fld(1, 3)       // 116x
+#define PTD_LAST(v)            FInsrt(v, _PTD_LAST_ISO)        // 116x
+#define PTD_GET_LAST(p)        FExtr((p)->ep_spd, _PTD_LAST_ISO)       // 116x
 #define _PTD_EP                        Fld(4, 4)
 #define PTD_EP(v)              FInsrt(v, _PTD_EP)
 #define PTD_GET_EP(p)          FExtr((p)->ep_spd, _PTD_EP)
@@ -264,10 +331,15 @@ struct ptd {
 #define _PTD_DIR               Fld(2, 2)
 #define PTD_DIR(v)             FInsrt(v, _PTD_DIR)
 #define PTD_GET_DIR(p)         FExtr((p)->dir, _PTD_DIR)
-
-#define _PTD_FA         Fld(7, 0)
-#define PTD_FA(v)       FInsrt(v, _PTD_FA)
-#define PTD_GET_FA(p)       FExtr((p)->func_addr,_PTD_FA)
+#define _PTD_B5_5              Fld(1, 5)       // 116x
+#define PTD_B5_5(v)            FInsrt(v, _PTD_B5_5)    // 116x
+#define PTD_GET_B5_5(p)                FExtr((p)->dir, _PTD_B5_5)      // 116x
+#define _PTD_FA                        Fld(7, 0)
+#define PTD_FA(v)              FInsrt(v, _PTD_FA)
+#define PTD_GET_FA(p)          FExtr((p)->func_addr,_PTD_FA)
+#define _PTD_FMT               Fld(1, 7)       // 116x
+#define PTD_FMT(v)             FInsrt(v, _PTD_FMT)     // 116x
+#define PTD_GET_FMT(p)         FExtr((p)->func_addr,_PTD_FMT)  // 116x

 #define _PTD_SF                        Fld(4, 0)
 #define PTD_SF(v)              FInsrt(v, _PTD_SF)
@@ -369,6 +441,7 @@ static inline void HC_ISP1362_WRITE_ADDR
 {
        //DDPRINTK("A>[EMAIL PROTECTED]", reg, (u32)hc_isp1362_addr_reg);
        _BUG_ON((reg & ISP1362_REG_WRITE_OFFSET) && !(reg & REG_ACCESS_W));
+       _BUG_ON(!(reg & CHIP_TYPE));
        _BUG_ON(!irqs_disabled());
        writew(reg, hc_isp1362_addr_reg);
 }



-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to