staging: comedi: mite: move mite_prep_dma()
[cascardo/linux.git] / drivers / staging / comedi / drivers / mite.h
index 1f8959d..4017ddb 100644 (file)
@@ -28,67 +28,38 @@ struct comedi_subdevice;
 struct device;
 struct pci_dev;
 
-struct mite_dma_descriptor {
+struct mite_dma_desc {
        __le32 count;
        __le32 addr;
        __le32 next;
        u32 dar;
 };
 
-struct mite_dma_descriptor_ring {
+struct mite_ring {
        struct device *hw_dev;
        unsigned int n_links;
-       struct mite_dma_descriptor *descriptors;
-       dma_addr_t descriptors_dma_addr;
+       struct mite_dma_desc *descs;
+       dma_addr_t dma_addr;
 };
 
 struct mite_channel {
-       struct mite_struct *mite;
+       struct mite *mite;
        unsigned int channel;
        int dir;
        int done;
-       struct mite_dma_descriptor_ring *ring;
+       struct mite_ring *ring;
 };
 
-struct mite_struct {
+struct mite {
        struct pci_dev *pcidev;
-       void __iomem *mite_io_addr;
+       void __iomem *mmio;
        struct mite_channel channels[MAX_MITE_DMA_CHANNELS];
-       short channel_allocated[MAX_MITE_DMA_CHANNELS];
        int num_channels;
        unsigned int fifo_size;
        /* protects mite_channel from being released by the driver */
        spinlock_t lock;
 };
 
-struct mite_struct *mite_alloc(struct pci_dev *pcidev);
-
-int mite_setup2(struct comedi_device *, struct mite_struct *, bool use_win1);
-
-static inline int mite_setup(struct comedi_device *dev,
-                            struct mite_struct *mite)
-{
-       return mite_setup2(dev, mite, false);
-}
-
-void mite_detach(struct mite_struct *mite);
-struct mite_dma_descriptor_ring *mite_alloc_ring(struct mite_struct *mite);
-void mite_free_ring(struct mite_dma_descriptor_ring *ring);
-struct mite_channel *
-mite_request_channel_in_range(struct mite_struct *mite,
-                             struct mite_dma_descriptor_ring *ring,
-                             unsigned int min_channel,
-                             unsigned int max_channel);
-static inline struct mite_channel *
-mite_request_channel(struct mite_struct *mite,
-                    struct mite_dma_descriptor_ring *ring)
-{
-       return mite_request_channel_in_range(mite, ring, 0,
-                                            mite->num_channels - 1);
-}
-
-void mite_release_channel(struct mite_channel *mite_chan);
-
 void mite_dma_arm(struct mite_channel *mite_chan);
 void mite_dma_disarm(struct mite_channel *mite_chan);
 void mite_sync_dma(struct mite_channel *mite_chan, struct comedi_subdevice *s);
@@ -97,13 +68,25 @@ void mite_ack_linkc(struct mite_channel *, struct comedi_subdevice *,
                    bool sync);
 int mite_done(struct mite_channel *mite_chan);
 
-void mite_prep_dma(struct mite_channel *mite_chan,
+void mite_prep_dma(struct mite_channel *,
                   unsigned int num_device_bits, unsigned int num_memory_bits);
-int mite_buf_change(struct mite_dma_descriptor_ring *ring,
-                   struct comedi_subdevice *s);
-int mite_init_ring_descriptors(struct mite_dma_descriptor_ring *ring,
-                              struct comedi_subdevice *s,
+
+struct mite_channel *mite_request_channel_in_range(struct mite *,
+                                                  struct mite_ring *,
+                                                  unsigned int min_channel,
+                                                  unsigned int max_channel);
+struct mite_channel *mite_request_channel(struct mite *, struct mite_ring *);
+void mite_release_channel(struct mite_channel *);
+
+int mite_init_ring_descriptors(struct mite_ring *, struct comedi_subdevice *,
                               unsigned int nbytes);
+int mite_buf_change(struct mite_ring *, struct comedi_subdevice *);
+
+struct mite_ring *mite_alloc_ring(struct mite *);
+void mite_free_ring(struct mite_ring *);
+
+struct mite *mite_attach(struct comedi_device *, bool use_win1);
+void mite_detach(struct mite *);
 
 /*
  * Mite registers (used outside of the mite driver)