Lines Matching refs:upr
127 struct slic_upr *upr; in slic_clear_upr_list() local
131 list_for_each_entry_safe(upr, tmp, &upr_list->list, list) { in slic_clear_upr_list()
132 list_del(&upr->list); in slic_clear_upr_list()
133 kfree(upr); in slic_clear_upr_list()
139 static void slic_start_upr(struct slic_device *sdev, struct slic_upr *upr) in slic_start_upr() argument
143 reg = (upr->type == SLIC_UPR_CONFIG) ? SLIC_REG_RCONFIG : in slic_start_upr()
145 slic_write(sdev, reg, lower_32_bits(upr->paddr)); in slic_start_upr()
149 static void slic_queue_upr(struct slic_device *sdev, struct slic_upr *upr) in slic_queue_upr() argument
156 INIT_LIST_HEAD(&upr->list); in slic_queue_upr()
157 list_add_tail(&upr->list, &upr_list->list); in slic_queue_upr()
162 slic_start_upr(sdev, upr); in slic_queue_upr()
169 struct slic_upr *upr = NULL; in slic_dequeue_upr() local
173 upr = list_first_entry(&upr_list->list, struct slic_upr, list); in slic_dequeue_upr()
174 list_del(&upr->list); in slic_dequeue_upr()
187 return upr; in slic_dequeue_upr()
193 struct slic_upr *upr; in slic_new_upr() local
195 upr = kmalloc(sizeof(*upr), GFP_ATOMIC); in slic_new_upr()
196 if (!upr) in slic_new_upr()
198 upr->type = type; in slic_new_upr()
199 upr->paddr = paddr; in slic_new_upr()
201 slic_queue_upr(sdev, upr); in slic_new_upr()
654 struct slic_upr *upr; in slic_handle_upr_irq() local
657 upr = slic_dequeue_upr(sdev); in slic_handle_upr_irq()
658 if (!upr) { in slic_handle_upr_irq()
663 if (upr->type == SLIC_UPR_LSTAT) { in slic_handle_upr_irq()
666 slic_queue_upr(sdev, upr); in slic_handle_upr_irq()
671 kfree(upr); in slic_handle_upr_irq()
1601 struct slic_upr *upr; in slic_read_eeprom() local
1628 upr = slic_dequeue_upr(sdev); in slic_read_eeprom()
1629 kfree(upr); in slic_read_eeprom()