int                     nr_ext;
        u32                     irq_mask;
        u32                     motion_mask;
-       spinlock_t              reg_io_lock;
        struct v4l2_device      v4l2_dev;
 
        /* tw28xx accounting */
 
 static inline u32 solo_reg_read(struct solo_dev *solo_dev, int reg)
 {
-       unsigned long flags;
-       u32 ret;
-       u16 val;
-
-       spin_lock_irqsave(&solo_dev->reg_io_lock, flags);
-
-       ret = readl(solo_dev->reg_base + reg);
-       rmb();
-       pci_read_config_word(solo_dev->pdev, PCI_STATUS, &val);
-       rmb();
-
-       spin_unlock_irqrestore(&solo_dev->reg_io_lock, flags);
-
-       return ret;
+       return readl(solo_dev->reg_base + reg);
 }
 
 static inline void solo_reg_write(struct solo_dev *solo_dev, int reg,
                                  u32 data)
 {
-       unsigned long flags;
-       u16 val;
-
-       spin_lock_irqsave(&solo_dev->reg_io_lock, flags);
-
        writel(data, solo_dev->reg_base + reg);
-       wmb();
-       pci_read_config_word(solo_dev->pdev, PCI_STATUS, &val);
-       rmb();
-
-       spin_unlock_irqrestore(&solo_dev->reg_io_lock, flags);
 }
 
 static inline void solo_irq_on(struct solo_dev *dev, u32 mask)