#define USB_DEVICE_ID_SYMBOL_SCANNER_1        0x0800
  #define USB_DEVICE_ID_SYMBOL_SCANNER_2        0x1300
  
+ #define USB_VENDOR_ID_SYNAPTICS               0x06cb
+ #define USB_DEVICE_ID_SYNAPTICS_TP    0x0001
+ #define USB_DEVICE_ID_SYNAPTICS_INT_TP        0x0002
+ #define USB_DEVICE_ID_SYNAPTICS_CPAD  0x0003
+ #define USB_DEVICE_ID_SYNAPTICS_TS    0x0006
+ #define USB_DEVICE_ID_SYNAPTICS_STICK 0x0007
+ #define USB_DEVICE_ID_SYNAPTICS_WP    0x0008
+ #define USB_DEVICE_ID_SYNAPTICS_COMP_TP       0x0009
+ #define USB_DEVICE_ID_SYNAPTICS_WTP   0x0010
+ #define USB_DEVICE_ID_SYNAPTICS_DPAD  0x0013
+ 
  #define USB_VENDOR_ID_THRUSTMASTER    0x044f
  
 +#define USB_VENDOR_ID_TIVO            0x150a
 +#define USB_DEVICE_ID_TIVO_SLIDE_BT   0x1200
 +#define USB_DEVICE_ID_TIVO_SLIDE      0x1201
 +
  #define USB_VENDOR_ID_TOPSEED         0x0766
  #define USB_DEVICE_ID_TOPSEED_CYBERLINK       0x0204
  
 
        struct timespec wtom;
  
        do {
 -              seq = read_seqbegin(&xtime_lock);
 -              wtom = wall_to_monotonic;
 -      } while (read_seqretry(&xtime_lock, seq));
 +              seq = read_seqbegin(&timekeeper.lock);
 +              wtom = timekeeper.wall_to_monotonic;
 +      } while (read_seqretry(&timekeeper.lock, seq));
 +
        return timespec_to_ktime(wtom);
  }
+ EXPORT_SYMBOL_GPL(ktime_get_monotonic_offset);
+ 
  
  /**
   * xtime_update() - advances the timekeeping infrastructure