/* * Mausezahn - A fast versatile traffic generator * Copyright (C) 2010 Herbert Haas * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License version 2 as published by the * Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program; if not, see http://www.gnu.org/licenses/gpl-2.0.html * */ #ifndef MZ_LINKED_LIST #define MZ_LINKED_LIST #define MAX_PACKET_SEQUENCE_LEN 20 // how many packets can be defined in a sequence at maximum // A packet sequence -- this is the list data (each list element corresponds to one sequence) struct pseq { struct mops *packet[MAX_PACKET_SEQUENCE_LEN]; // pointer to the packets struct timespec gap[MAX_PACKET_SEQUENCE_LEN]; // optional delay between different packets int count; // total number of current members (=packets) }; // --------------- Mausezahn Multipurpose Linked List: ------------------- #define MZ_LL_NAME_LEN 64 // one list element struct mz_ll { struct mz_ll *prev; struct mz_ll *next; struct mz_ll *head; // always points to head element int refcount; // head element: total number of list items! (Otherwise can be used as refcount.) char name[MZ_LL_NAME_LEN]; pthread_t sequence_thread; int state; // 0 = inactive, 1 = active int index; // monotonically increasing; int index_last; //head always stores the last value! void *data; // points to your data }; struct mz_ll *packet_sequences; struct mz_ll *cli_seq; // currently edited packet sequence used by CLI // prototypes struct mz_ll * mz_ll_create_new_element(struct mz_ll *list); int mz_ll_delete_element (struct mz_ll *cur); int mz_ll_delete_list(struct mz_ll *list); struct mz_ll * mz_ll_search_name (struct mz_ll *list, char *str); void _mz_ll_set_default (struct mz_ll *cur); int mz_ll_dump_all(struct mz_ll *list); int mops_tx_sequence (struct mz_ll *seq); // convenience functions using the above in a more intelligent way int mops_delete_sequence(char *name); struct mz_ll * mops_create_sequence (char *name); int mops_dump_sequence (char* str); int mops_add_packet_to_sequence (struct mz_ll *seq, struct mops *mp); int mops_add_delay_to_sequence (struct mz_ll *seq, struct timespec *t); int mops_delete_packet_from_pseq (struct mz_ll *seq, int index); int mops_delete_all_packets_from_pseq (struct mz_ll *seq); int stop_sequence (char *name); int stop_all_sequences (); #endif h: root/Documentation/devicetree
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-06-18 06:06:49 -1000
committerLinus Torvalds <torvalds@linux-foundation.org>2016-06-18 06:06:49 -1000
commite80dac114c63dd54398c3c785a6431622c320e87 (patch)
tree2a49ad6be601be3463172082bd61bdde863753e9 /Documentation/devicetree
parenta50094a4813443a7ca605f86019061905ba697c4 (diff)
parent083d5ad1a924e79ecf92be37cce9f1efa5c1d240 (diff)
Merge tag 'usb-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Pull USB fixes from Greg KH: "Here are a bunch (65) of USB fixes for 4.7-rc4. Sorry about the quantity, I've been slow in getting these out. The majority are the "normal" gadget, musb, and xhci fixes, that we all are used to. There are also a few other tiny fixes resolving a number of reported issues that showed up in 4.7-rc1. All of these have been in linux-next" * tag 'usb-4.7-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (65 commits) usbip: rate limit get_frame_number message usb: musb: sunxi: Remove bogus "Frees glue" comment usb: musb: sunxi: Fix NULL ptr deref when gadget is registered before musb usb: echi-hcd: Add ehci_setup check before echi_shutdown usb: host: ehci-msm: Conditionally call ehci suspend/resume MAINTAINERS: Add file patterns for usb device tree bindings usb: host: ehci-tegra: Avoid getting the same reset twice usb: host: ehci-tegra: Grab the correct UTMI pads reset USB: mos7720: delete parport USB: OHCI: Don't mark EDs as ED_OPER if scheduling fails phy: ti-pipe3: Program the DPLL even if it was already locked usb: musb: Stop bulk endpoint while queue is rotated usb: musb: Ensure rx reinit occurs for shared_fifo endpoints usb: musb: host: correct cppi dma channel for isoch transfer usb: musb: only restore devctl when session was set in backup usb: phy: Check initial state for twl6030 usb: musb: Use normal module_init for 2430 glue usb: musb: Remove pm_runtime_set_irq_safe usb: musb: Remove extra PM runtime calls from 2430 glue layer usb: musb: Return error value from musb_mailbox ...
Diffstat (limited to 'Documentation/devicetree')