Lines Matching refs:entry
97 struct nvs_page *entry, *next;
105 entry = kzalloc(sizeof(struct nvs_page), GFP_KERNEL);
106 if (!entry)
109 list_add_tail(&entry->node, &nvs_list);
110 entry->phys_start = start;
112 entry->size = (size < nr_bytes) ? size : nr_bytes;
114 start += entry->size;
115 size -= entry->size;
120 list_for_each_entry_safe(entry, next, &nvs_list, node) {
121 list_del(&entry->node);
122 kfree(entry);
132 struct nvs_page *entry;
134 list_for_each_entry(entry, &nvs_list, node)
135 if (entry->data) {
136 free_page((unsigned long)entry->data);
137 entry->data = NULL;
138 if (entry->kaddr) {
139 if (entry->unmap) {
140 iounmap(entry->kaddr);
141 entry->unmap = false;
143 acpi_os_unmap_iomem(entry->kaddr,
144 entry->size);
146 entry->kaddr = NULL;
156 struct nvs_page *entry;
158 list_for_each_entry(entry, &nvs_list, node) {
159 entry->data = (void *)__get_free_page(GFP_KERNEL);
160 if (!entry->data) {
173 struct nvs_page *entry;
177 list_for_each_entry(entry, &nvs_list, node)
178 if (entry->data) {
179 unsigned long phys = entry->phys_start;
180 unsigned int size = entry->size;
182 entry->kaddr = acpi_os_get_iomem(phys, size);
183 if (!entry->kaddr) {
184 entry->kaddr = acpi_os_ioremap(phys, size);
185 entry->unmap = !!entry->kaddr;
187 if (!entry->kaddr) {
191 memcpy(entry->data, entry->kaddr, entry->size);
205 struct nvs_page *entry;
209 list_for_each_entry(entry, &nvs_list, node)
210 if (entry->data)
211 memcpy(entry->kaddr, entry->data, entry->size);