AD5204, AD5206, AD5207, AD5231, AD5232, AD5233, AD5235,
          AD5260, AD5262, AD5263, AD5290, AD5291, AD5292, AD5293,
          AD7376, AD8400, AD8402, AD8403, ADN2850, AD5241, AD5242,
-         AD5243, AD5245, AD5246, AD5247, AD5248
+         AD5243, AD5245, AD5246, AD5247, AD5248, AD5280, AD5282,
+         ADN2860
          digital potentiometer chips.
 
          See Documentation/misc-devices/ad525x_dpot.txt for the
 
  * AD5243              2               256             2.5, 10, 50, 100
  * AD5248              2               256             2.5, 10, 50, 100
  * AD5242              2               256             20, 50, 200
+ * AD5280              1               256             20, 50, 200
+ * AD5282              2               256             20, 50, 200
+ * ADN2860             3               512             25, 250
  *
  * See Documentation/misc-devices/ad525x_dpot.txt for more info.
  *
        case DPOT_UID(AD5242_ID):
        case DPOT_UID(AD5243_ID):
        case DPOT_UID(AD5248_ID):
+       case DPOT_UID(AD5280_ID):
+       case DPOT_UID(AD5282_ID):
                ctrl = ((reg & DPOT_RDAC_MASK) == DPOT_RDAC0) ?
                        0 : DPOT_AD5291_RDAC_AB;
                return dpot_read_r8d8(dpot, ctrl);
        case DPOT_UID(AD5242_ID):
        case DPOT_UID(AD5243_ID):
        case DPOT_UID(AD5248_ID):
-               ctrl = ((reg & DPOT_RDAC_MASK) == DPOT_RDAC0) ? 0 : DPOT_AD5291_RDAC_AB;
+       case DPOT_UID(AD5280_ID):
+       case DPOT_UID(AD5282_ID):
+               ctrl = ((reg & DPOT_RDAC_MASK) == DPOT_RDAC0) ?
+                       0 : DPOT_AD5291_RDAC_AB;
                return dpot_write_r8d8(dpot, ctrl, value);
                break;
-
-
        default:
-       if (reg & DPOT_ADDR_CMD)
-               return dpot_write_d8(dpot, reg);
+               if (reg & DPOT_ADDR_CMD)
+                       return dpot_write_d8(dpot, reg);
 
-       if (dpot->max_pos > 256)
-               return dpot_write_r8d16(dpot, (reg & 0xF8) |
-                                       ((reg & 0x7) << 1), value);
-       else
-               /* All other registers require instruction + data bytes */
-               return dpot_write_r8d8(dpot, reg, value);
+               if (dpot->max_pos > 256)
+                       return dpot_write_r8d16(dpot, (reg & 0xF8) |
+                                               ((reg & 0x7) << 1), value);
+               else
+                       /* All other registers require instruction + data bytes */
+                       return dpot_write_r8d8(dpot, reg, value);
        }
 }
 
 
        AD5246_ID = DPOT_CONF(F_RDACS_RW, BRDAC0, 7, 37),
        AD5247_ID = DPOT_CONF(F_RDACS_RW, BRDAC0, 7, 38),
        AD5248_ID = DPOT_CONF(F_RDACS_RW, BRDAC0 | BRDAC1, 8, 39),
-
-
+       AD5280_ID = DPOT_CONF(F_RDACS_RW, BRDAC0, 8, 40),
+       AD5282_ID = DPOT_CONF(F_RDACS_RW, BRDAC0 | BRDAC1, 8, 41),
+       ADN2860_ID = DPOT_CONF(F_RDACS_RW_TOL | F_CMD_INC,
+                       BRDAC0 | BRDAC1 | BRDAC2, 9, 42),
 };
 
 #define DPOT_RDAC0             0