Lines Matching defs:trigger_tab
251 static int einj_check_trigger_header(struct acpi_einj_trigger *trigger_tab)
253 if (trigger_tab->header_size != sizeof(struct acpi_einj_trigger))
255 if (trigger_tab->table_size > PAGE_SIZE ||
256 trigger_tab->table_size < trigger_tab->header_size)
258 if (trigger_tab->entry_count !=
259 (trigger_tab->table_size - trigger_tab->header_size) /
267 struct acpi_einj_trigger *trigger_tab, u64 param1, u64 param2)
273 ((char *)trigger_tab + sizeof(struct acpi_einj_trigger));
274 for (i = 0; i < trigger_tab->entry_count; i++) {
290 struct acpi_einj_trigger *trigger_tab = NULL;
299 r = request_mem_region(trigger_paddr, sizeof(*trigger_tab),
305 sizeof(*trigger_tab) - 1);
308 trigger_tab = ioremap_cache(trigger_paddr, sizeof(*trigger_tab));
309 if (!trigger_tab) {
313 rc = einj_check_trigger_header(trigger_tab);
320 if (!trigger_tab->entry_count)
324 table_size = trigger_tab->table_size;
325 r = request_mem_region(trigger_paddr + sizeof(*trigger_tab),
326 table_size - sizeof(*trigger_tab),
330 (unsigned long long)trigger_paddr + sizeof(*trigger_tab),
334 iounmap(trigger_tab);
335 trigger_tab = ioremap_cache(trigger_paddr, table_size);
336 if (!trigger_tab) {
341 ((char *)trigger_tab + sizeof(struct acpi_einj_trigger));
345 trigger_entry, trigger_tab->entry_count);
362 trigger_tab, param1, param2);
391 release_mem_region(trigger_paddr + sizeof(*trigger_tab),
392 table_size - sizeof(*trigger_tab));
394 release_mem_region(trigger_paddr, sizeof(*trigger_tab));
396 if (trigger_tab)
397 iounmap(trigger_tab);