source: trunk/target/linux/adm5120/patches-2.6.38/903-adm5120-usb-use-the-admhcd-structure-directly-in-debugfs-files.patch @ 26647

Last change on this file since 26647 was 26647, checked in by acoul, 5 years ago

linux/adm5120: add 2.6.38 preliminary support

File size: 3.2 KB
  • drivers/usb/host/adm5120-dbg.c

    a b static struct dentry *admhc_debug_root; 
    419419 
    420420struct debug_buffer { 
    421421        ssize_t (*fill_func)(struct debug_buffer *);    /* fill method */ 
    422         struct device *dev; 
     422        struct admhcd *ahcd; 
    423423        struct mutex mutex;     /* protect filling of buffer */ 
    424424        size_t count;           /* number of characters filled into buffer */ 
    425425        char *page; 
    show_list(struct admhcd *ahcd, char *buf 
    494494 
    495495static ssize_t fill_async_buffer(struct debug_buffer *buf) 
    496496{ 
    497         struct usb_bus          *bus; 
    498         struct usb_hcd          *hcd; 
    499497        struct admhcd           *ahcd; 
    500498        size_t                  temp; 
    501499        unsigned long           flags; 
    502500 
    503         bus = dev_get_drvdata(buf->dev); 
    504         hcd = bus_to_hcd(bus); 
    505         ahcd = hcd_to_admhcd(hcd); 
     501        ahcd = buf->ahcd; 
    506502 
    507503        spin_lock_irqsave(&ahcd->lock, flags); 
    508504        temp = show_list(ahcd, buf->page, PAGE_SIZE, ahcd->ed_head); 
    static ssize_t fill_async_buffer(struct  
    516512 
    517513static ssize_t fill_periodic_buffer(struct debug_buffer *buf) 
    518514{ 
    519         struct usb_bus          *bus; 
    520         struct usb_hcd          *hcd; 
    521515        struct admhcd           *ahcd; 
    522516        struct ed               **seen, *ed; 
    523517        unsigned long           flags; 
    static ssize_t fill_periodic_buffer(stru 
    529523                return 0; 
    530524        seen_count = 0; 
    531525 
    532         bus = dev_get_drvdata(buf->dev); 
    533         hcd = bus_to_hcd(bus); 
    534         ahcd = hcd_to_admhcd(hcd); 
     526        ahcd = buf->ahcd; 
    535527        next = buf->page; 
    536528        size = PAGE_SIZE; 
    537529 
    static ssize_t fill_periodic_buffer(stru 
    613605 
    614606static ssize_t fill_registers_buffer(struct debug_buffer *buf) 
    615607{ 
    616         struct usb_bus          *bus; 
    617608        struct usb_hcd          *hcd; 
    618609        struct admhcd           *ahcd; 
    619610        struct admhcd_regs __iomem *regs; 
    static ssize_t fill_registers_buffer(str 
    622613        char                    *next; 
    623614        u32                     rdata; 
    624615 
    625         bus = dev_get_drvdata(buf->dev); 
    626         hcd = bus_to_hcd(bus); 
    627         ahcd = hcd_to_admhcd(hcd); 
     616        ahcd = buf->ahcd; 
     617        hcd = admhcd_to_hcd(ahcd); 
    628618        regs = ahcd->regs; 
    629619        next = buf->page; 
    630620        size = PAGE_SIZE; 
    done: 
    689679} 
    690680 
    691681 
    692 static struct debug_buffer *alloc_buffer(struct device *dev, 
     682static struct debug_buffer *alloc_buffer(struct admhcd *ahcd, 
    693683                                ssize_t (*fill_func)(struct debug_buffer *)) 
    694684{ 
    695685        struct debug_buffer *buf; 
    static struct debug_buffer *alloc_buffer 
    697687        buf = kzalloc(sizeof(struct debug_buffer), GFP_KERNEL); 
    698688 
    699689        if (buf) { 
    700                 buf->dev = dev; 
     690                buf->ahcd = ahcd; 
    701691                buf->fill_func = fill_func; 
    702692                mutex_init(&buf->mutex); 
    703693        } 
    static int debug_registers_open(struct i 
    790780static inline void create_debug_files(struct admhcd *ahcd) 
    791781{ 
    792782        struct usb_bus *bus = &admhcd_to_hcd(ahcd)->self; 
    793         struct device *dev = bus->dev; 
    794783 
    795784        ahcd->debug_dir = debugfs_create_dir(bus->bus_name, admhc_debug_root); 
    796785        if (!ahcd->debug_dir) 
    797786                goto dir_error; 
    798787 
    799788        ahcd->debug_async = debugfs_create_file("async", S_IRUGO, 
    800                                                 ahcd->debug_dir, dev, 
     789                                                ahcd->debug_dir, ahcd, 
    801790                                                &debug_async_fops); 
    802791        if (!ahcd->debug_async) 
    803792                goto async_error; 
    804793 
    805794        ahcd->debug_periodic = debugfs_create_file("periodic", S_IRUGO, 
    806                                                 ahcd->debug_dir, dev, 
     795                                                ahcd->debug_dir, ahcd, 
    807796                                                &debug_periodic_fops); 
    808797        if (!ahcd->debug_periodic) 
    809798                goto periodic_error; 
    810799 
    811800        ahcd->debug_registers = debugfs_create_file("registers", S_IRUGO, 
    812                                                 ahcd->debug_dir, dev, 
     801                                                ahcd->debug_dir, ahcd, 
    813802                                                &debug_registers_fops); 
    814803        if (!ahcd->debug_registers) 
    815804                goto registers_error; 
Note: See TracBrowser for help on using the repository browser.