usb: isp1362-hcd: use bitmap_clear() and bitmap_set()
authorAkinobu Mita <akinobu.mita@gmail.com>
Wed, 16 Feb 2011 14:47:51 +0000 (23:47 +0900)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 17 Feb 2011 19:00:24 +0000 (11:00 -0800)
Use bitmap_set()/bitmap_clear() to fill/zero a region of a bitmap
instead of doing set_bit()/clear_bit() each bit.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/isp1362-hcd.c

index 43a39eb56cc6ea77af2cc7ae930392f1cd70325a..02b742df332a2827b44a736a180e72a002aa57cd 100644 (file)
@@ -226,7 +226,6 @@ static int claim_ptd_buffers(struct isp1362_ep_queue *epq,
 
 static inline void release_ptd_buffers(struct isp1362_ep_queue *epq, struct isp1362_ep *ep)
 {
-       int index = ep->ptd_index;
        int last = ep->ptd_index + ep->num_ptds;
 
        if (last > epq->buf_count)
@@ -236,10 +235,8 @@ static inline void release_ptd_buffers(struct isp1362_ep_queue *epq, struct isp1
                    epq->buf_map, epq->skip_map);
        BUG_ON(last > epq->buf_count);
 
-       for (; index < last; index++) {
-               __clear_bit(index, &epq->buf_map);
-               __set_bit(index, &epq->skip_map);
-       }
+       bitmap_clear(&epq->buf_map, ep->ptd_index, ep->num_ptds);
+       bitmap_set(&epq->skip_map, ep->ptd_index, ep->num_ptds);
        epq->buf_avail += ep->num_ptds;
        epq->ptd_count--;