• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/ieee1394/

Lines Matching defs:hl

50 static struct hl_host_info *hl_get_hostinfo(struct hpsb_highlevel *hl,
55 if (!hl || !host)
58 read_lock(&hl->host_info_lock);
59 list_for_each_entry(hi, &hl->host_info_list, list) {
61 read_unlock(&hl->host_info_lock);
65 read_unlock(&hl->host_info_lock);
72 * Returns a per @host and @hl driver data structure that was previously stored
75 void *hpsb_get_hostinfo(struct hpsb_highlevel *hl, struct hpsb_host *host)
77 struct hl_host_info *hi = hl_get_hostinfo(hl, host);
86 * to this @hl driver and @host. If @data_size is zero, then the return here is
89 void *hpsb_create_hostinfo(struct hpsb_highlevel *hl, struct hpsb_host *host,
96 hi = hl_get_hostinfo(hl, host);
99 " exists", hl->name);
115 write_lock_irqsave(&hl->host_info_lock, flags);
116 list_add_tail(&hi->list, &hl->host_info_list);
117 write_unlock_irqrestore(&hl->host_info_lock, flags);
127 int hpsb_set_hostinfo(struct hpsb_highlevel *hl, struct hpsb_host *host,
132 hi = hl_get_hostinfo(hl, host);
139 "already has data", hl->name);
142 hl->name);
149 * Free and remove the hostinfo pointer bound to this @hl driver and @host.
151 void hpsb_destroy_hostinfo(struct hpsb_highlevel *hl, struct hpsb_host *host)
155 hi = hl_get_hostinfo(hl, host);
158 write_lock_irqsave(&hl->host_info_lock, flags);
160 write_unlock_irqrestore(&hl->host_info_lock, flags);
169 * Sets an alternate lookup key for the hostinfo bound to this @hl driver and
172 void hpsb_set_hostinfo_key(struct hpsb_highlevel *hl, struct hpsb_host *host,
177 hi = hl_get_hostinfo(hl, host);
186 void *hpsb_get_hostinfo_bykey(struct hpsb_highlevel *hl, unsigned long key)
191 if (!hl)
194 read_lock(&hl->host_info_lock);
195 list_for_each_entry(hi, &hl->host_info_list, list) {
201 read_unlock(&hl->host_info_lock);
207 struct hpsb_highlevel *hl = __data;
209 hl->add_host(host);
213 "%s-%d", hl->name, host->id);
220 * The name pointer in @hl has to stay valid at all times because the string is
223 void hpsb_register_highlevel(struct hpsb_highlevel *hl)
227 hpsb_init_highlevel(hl);
228 INIT_LIST_HEAD(&hl->addr_list);
231 list_add_tail(&hl->hl_list, &hl_drivers);
235 list_add_tail(&hl->irq_list, &hl_irqs);
238 if (hl->add_host)
239 nodemgr_for_each_host(hl, highlevel_for_each_host_reg);
250 static void __unregister_host(struct hpsb_highlevel *hl, struct hpsb_host *host,
258 if (hl->remove_host)
259 hl->remove_host(host);
264 list_for_each_safe (lh, next, &hl->addr_list) {
276 "%s-%d", hl->name, host->id);
279 hpsb_destroy_hostinfo(hl, host);
284 struct hpsb_highlevel *hl = __data;
286 __unregister_host(hl, host, 1);
293 void hpsb_unregister_highlevel(struct hpsb_highlevel *hl)
298 list_del(&hl->irq_list);
302 list_del(&hl->hl_list);
305 nodemgr_for_each_host(hl, highlevel_for_each_host_unreg);
313 * function can be called multiple times for a single hpsb_highlevel @hl to
319 * are automatically deallocated together with the hpsb_highlevel @hl.
321 u64 hpsb_allocate_and_register_addrspace(struct hpsb_highlevel *hl,
384 list_add_tail(&as->hl_list, &hl->addr_list);
401 * function can be called multiple times for a single hpsb_highlevel @hl to
407 * are automatically deallocated together with the hpsb_highlevel @hl.
409 int hpsb_register_addrspace(struct hpsb_highlevel *hl, struct hpsb_host *host,
448 list_add_tail(&as->hl_list, &hl->addr_list);
460 int hpsb_unregister_addrspace(struct hpsb_highlevel *hl, struct hpsb_host *host,
469 list_for_each_safe (lh, next, &hl->addr_list) {
502 struct hpsb_highlevel *hl;
507 list_for_each_entry(hl, &hl_drivers, hl_list) {
508 if (hl->add_host)
509 hl->add_host(host);
514 "%s-%d", hl->name, host->id);
519 struct hpsb_highlevel *hl;
522 list_for_each_entry(hl, &hl_drivers, hl_list)
523 __unregister_host(hl, host, 0);
530 struct hpsb_highlevel *hl;
533 list_for_each_entry(hl, &hl_irqs, irq_list) {
534 if (hl->host_reset)
535 hl->host_reset(host);
544 struct hpsb_highlevel *hl;
548 list_for_each_entry(hl, &hl_irqs, irq_list) {
549 if (hl->fcp_request)
550 hl->fcp_request(host, nodeid, direction, cts, data,