Make code more readable with list_for_each_entry.
Compile tested.


Signed-off-by: Domen Puncer <[EMAIL PROTECTED]>

Patch incremental on previous list_for_each().
Signed-off-by: Maximilian Attems <[EMAIL PROTECTED]>



---

 linux-2.6.9-rc1-bk7-max/drivers/usb/class/audio.c |   21 ++++++---------------
 1 files changed, 6 insertions(+), 15 deletions(-)

diff -puN drivers/usb/class/audio.c~list-for-each-entry-drivers_usb_class_audio 
drivers/usb/class/audio.c
--- 
linux-2.6.9-rc1-bk7/drivers/usb/class/audio.c~list-for-each-entry-drivers_usb_class_audio
   2004-09-01 19:34:25.000000000 +0200
+++ linux-2.6.9-rc1-bk7-max/drivers/usb/class/audio.c   2004-09-01 19:34:25.000000000 
+0200
@@ -1949,15 +1949,12 @@ static inline int prog_dmabuf_out(struct
 static int usb_audio_open_mixdev(struct inode *inode, struct file *file)
 {
        unsigned int minor = iminor(inode);
-       struct list_head *devs, *mdevs;
        struct usb_mixerdev *ms;
        struct usb_audio_state *s;
 
        down(&open_sem);
-       list_for_each(devs, &audiodevs) {
-               s = list_entry(devs, struct usb_audio_state, audiodev);
-               list_for_each(mdevs, &s->mixerlist) {
-                       ms = list_entry(mdevs, struct usb_mixerdev, list);
+       list_for_each_entry(s, &audiodevs, audiodev) {
+               list_for_each_entry(ms, &s->mixerlist, list) {
                        if (ms->dev_mixer == minor)
                                goto mixer_found;
                }
@@ -2634,16 +2631,13 @@ static int usb_audio_open(struct inode *
 {
        unsigned int minor = iminor(inode);
        DECLARE_WAITQUEUE(wait, current);
-       struct list_head *devs, *adevs;
        struct usb_audiodev *as;
        struct usb_audio_state *s;
 
        for (;;) {
                down(&open_sem);
-               list_for_each(devs, &audiodevs) {
-                       s = list_entry(devs, struct usb_audio_state, audiodev);
-                       list_for_each(adevs, &s->audiolist) {
-                               as = list_entry(adevs, struct usb_audiodev, list);
+               list_for_each_entry(s, &audiodevs, audiodev) {
+                       list_for_each_entry(as, &s->audiolist, list) {
                                if (!((as->dev_audio ^ minor) & ~0xf))
                                        goto device_found;
                        }
@@ -3809,7 +3803,6 @@ static int usb_audio_probe(struct usb_in
 static void usb_audio_disconnect(struct usb_interface *intf)
 {
        struct usb_audio_state *s = usb_get_intfdata (intf);
-       struct list_head *list;
        struct usb_audiodev *as;
        struct usb_mixerdev *ms;
 
@@ -3831,8 +3824,7 @@ static void usb_audio_disconnect(struct 
        usb_set_intfdata (intf, NULL);
 
        /* deregister all audio and mixer devices, so no new processes can open this 
device */
-       list_for_each(list, &s->audiolist) {
-               as = list_entry(list, struct usb_audiodev, list);
+       list_for_each_entry(as, &s->audiolist, list) {
                usbin_disc(as);
                usbout_disc(as);
                wake_up(&as->usbin.dma.wait);
@@ -3843,8 +3835,7 @@ static void usb_audio_disconnect(struct 
                }
                as->dev_audio = -1;
        }
-       list_for_each(list, &s->mixerlist) {
-               ms = list_entry(list, struct usb_mixerdev, list);
+       list_for_each_entry(ms, &s->mixerlist, list) {
                if (ms->dev_mixer >= 0) {
                        unregister_sound_mixer(ms->dev_mixer);
                        printk(KERN_INFO "usbaudio: unregister mixer 14,%d\n", 
ms->dev_mixer);

_


-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to