Lines Matching refs:entry
95 struct nvs_page *entry, *next;
103 entry = kzalloc(sizeof(struct nvs_page), GFP_KERNEL);
104 if (!entry)
107 list_add_tail(&entry->node, &nvs_list);
108 entry->phys_start = start;
110 entry->size = (size < nr_bytes) ? size : nr_bytes;
112 start += entry->size;
113 size -= entry->size;
118 list_for_each_entry_safe(entry, next, &nvs_list, node) {
119 list_del(&entry->node);
120 kfree(entry);
130 struct nvs_page *entry;
132 list_for_each_entry(entry, &nvs_list, node)
133 if (entry->data) {
134 free_page((unsigned long)entry->data);
135 entry->data = NULL;
136 if (entry->kaddr) {
137 if (entry->unmap) {
138 iounmap(entry->kaddr);
139 entry->unmap = false;
141 acpi_os_unmap_iomem(entry->kaddr,
142 entry->size);
144 entry->kaddr = NULL;
154 struct nvs_page *entry;
156 list_for_each_entry(entry, &nvs_list, node) {
157 entry->data = (void *)__get_free_page(GFP_KERNEL);
158 if (!entry->data) {
171 struct nvs_page *entry;
175 list_for_each_entry(entry, &nvs_list, node)
176 if (entry->data) {
177 unsigned long phys = entry->phys_start;
178 unsigned int size = entry->size;
180 entry->kaddr = acpi_os_get_iomem(phys, size);
181 if (!entry->kaddr) {
182 entry->kaddr = acpi_os_ioremap(phys, size);
183 entry->unmap = !!entry->kaddr;
185 if (!entry->kaddr) {
189 memcpy(entry->data, entry->kaddr, entry->size);
203 struct nvs_page *entry;
207 list_for_each_entry(entry, &nvs_list, node)
208 if (entry->data)
209 memcpy(entry->kaddr, entry->data, entry->size);