From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753397AbcAVOv1 (ORCPT ); Fri, 22 Jan 2016 09:51:27 -0500 Received: from m50-138.163.com ([123.125.50.138]:34661 "EHLO m50-138.163.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753223AbcAVOvX (ORCPT ); Fri, 22 Jan 2016 09:51:23 -0500 From: Geliang Tang To: Bjorn Helgaas , Keith Busch Cc: Geliang Tang , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] PCI/AER: Use list_first_entry_or_null() to simplify code Date: Fri, 22 Jan 2016 22:50:19 +0800 Message-Id: <50073d35dca3c0ef34dddce4e6e2bf4bda6fdfe5.1453474124.git.geliangtang@163.com> X-Mailer: git-send-email 2.5.0 X-CM-TRANSID: C9GowABXIzm1QaJW98JZAw--.8448S3 X-Coremail-Antispam: 1Uf129KBjvdXoWrKr1rtr1UXFWkGw1kXF1xAFb_yoWkuFX_ZF yIqFn7Gr4DXw4fCws8Crs7G3s3Aa4kXr1kWr1Iqa13GFn3uFZ0qFySqr1xXay5Gw40yFya yryUWrn7Gr1UCjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IUUd-PUUUUUU== X-Originating-IP: [116.77.129.27] X-CM-SenderInfo: 5jhoxtpqjwt0rj6rljoofrz/1tbiMBf3mVWBT6pqFwAAsF Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Use list_first_entry_or_null() instead of list_empty() + list_entry() to simplify the code. Signed-off-by: Geliang Tang --- drivers/pci/pcie/aer/aer_inject.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/pci/pcie/aer/aer_inject.c b/drivers/pci/pcie/aer/aer_inject.c index 20db790..f5a245f 100644 --- a/drivers/pci/pcie/aer/aer_inject.c +++ b/drivers/pci/pcie/aer/aer_inject.c @@ -124,16 +124,13 @@ static struct pci_ops *__find_pci_bus_ops(struct pci_bus *bus) static struct pci_bus_ops *pci_bus_ops_pop(void) { unsigned long flags; - struct pci_bus_ops *bus_ops = NULL; + struct pci_bus_ops *bus_ops; spin_lock_irqsave(&inject_lock, flags); - if (list_empty(&pci_bus_ops_list)) - bus_ops = NULL; - else { - struct list_head *lh = pci_bus_ops_list.next; - list_del(lh); - bus_ops = list_entry(lh, struct pci_bus_ops, list); - } + bus_ops = list_first_entry_or_null(&pci_bus_ops_list, + struct pci_bus_ops, list); + if (bus_ops) + list_del(&bus_ops->list); spin_unlock_irqrestore(&inject_lock, flags); return bus_ops; } -- 2.5.0