*/
 static void dm_irq_work_func(struct work_struct *work)
 {
-       struct list_head *entry;
        struct irq_list_head *irq_list_head =
                container_of(work, struct irq_list_head, work);
        struct list_head *handler_list = &irq_list_head->head;
        struct amdgpu_dm_irq_handler_data *handler_data;
 
-       list_for_each(entry, handler_list) {
-               handler_data = list_entry(entry,
-                                         struct amdgpu_dm_irq_handler_data,
-                                         list);
-
+       list_for_each_entry(handler_data, handler_list, list) {
                DRM_DEBUG_KMS("DM_IRQ: work_func: for dal_src=%d\n",
                                handler_data->irq_source);
 
                                         enum dc_irq_source irq_source)
 {
        struct amdgpu_dm_irq_handler_data *handler_data;
-       struct list_head *entry;
        unsigned long irq_table_flags;
 
        DM_IRQ_TABLE_LOCK(adev, irq_table_flags);
 
-       list_for_each(
-               entry,
-               &adev->dm.irq_handler_list_high_tab[irq_source]) {
-
-               handler_data = list_entry(entry,
-                                         struct amdgpu_dm_irq_handler_data,
-                                         list);
-
+       list_for_each_entry(handler_data,
+                           &adev->dm.irq_handler_list_high_tab[irq_source],
+                           list) {
                /* Call a subcomponent which registered for immediate
                 * interrupt notification */
                handler_data->handler(handler_data->handler_arg);